2011-06-07 9 views
6

He estado leyendo en las señales & slots y dice que se puede conectar una señal a una señal y activar la ranura que está conectada a la segunda señal en la cadena. No puedo encontrar una manera de hacerlo en el diseñador de Qt, solo te permite conectar una señal a una ranura, no una señal a una señal. Además, no puedo encontrarlo en los documentos, pero si tiene una señal conectada a una señal con la primera señal que transmite el argumento QString, por ejemplo, la QString se propagará a lo largo de la cadena.Qt: ¿Es posible conectar una señal a una señal en Qt designer

Gracias!

+0

¿Puedes aclarar a qué te refieres con "rebotar una señal"? – Gregg

+1

simplemente edítelo, espero que tenga más sentido –

Respuesta

1

No creo que eso sea posible en el diseñador directamente (no es algo muy común de hacer). Pero podrías hacerlo en tu código personalizado.

Los parámetros emitidos con la señal original se transmitirán a la ranura después del relé.

+2

"(no es algo muy común de hacer)": bastante común, diría yo. – TonyK

+0

entre widgets en el mismo "formulario"/grupo de formularios como lo que tiene en una vista de diseñador? – Mat

+0

@Mat Piense en una señal 'changed()' en el widget de formulario que retransmite diferentes señales como 'currentIndexChanged (int)' etc. de los widgets internos. El diseñador también puede conectarse a las ranuras del widget de formulario, desafortunadamente no a las señales ... –

4

No puede hacer esto en Qt Designer; tienes que hacerlo en código. Y sí, puede propagar el parámetro QString.

+0

No hay nada que pueda hablar en contra de agregar esto en Qt Designer en un nivel fundamental, excepto que no se puede expresar en el formato '.ui' actual, que utiliza '' elementos. Cualquier cambio a '' o similar no sería compatible con versiones anteriores de 'uic's. –

Cuestiones relacionadas