tutorial signal custom and events qt pyqt signals

events - signal - PyQt graphicsview resize event



signals en qt (1)

La referencia de clase PyQt es el mejor lugar para buscar señales y métodos de clase.

La conexión de señales simples se puede hacer así:

self.connect(senderObject, QtCore.SIGNAL("signalName()"), self.slotMethod)

Por lo que puedo decir, sin embargo, la mayoría de los widgets normalmente no emiten una señal cuando se cambian de tamaño. Para hacer esto, necesitarías volver a implementar la clase QGraphicsView y su método resizeEvent, modificándola para que emita tal señal, así:

from PyQt4.QtGui import QGraphicsView from PyQt4.QtCore import SIGNAL class customGraphicsView(QGraphicsView): def __init__(self, parent=None): QGraphicsView.__init__(self, parent) def resizeEvent(self, evt=None): self.emit(SIGNAL("resize()"))

Con Qt Designer, debería poder convertir su widget QGraphicsView existente en un marcador de posición para dicho widget personalizado haciendo clic derecho sobre él y seleccionando Promote to .... Para ayuda, mira aquí .

Espero que esto responda suficientemente a tu pregunta.

Me gustaría conectar un evento de cambio de tamaño en una vista de gráficos a una función usando PyQt. Agregué QGraphicsView a la GUI usando QtCreator. He intentado algunas variaciones sin éxito:

gv.pyqtConfigure(resize=self.printR) QtCore.QObject.connect(gv,QtCore.SIGNAL("resized()"),self.printR) gv.resize.connect(self.printR)

Sin embargo, ninguno de los trabajos anteriores (he intentado usar muchas variaciones del nombre del evento).

¿Cuál es la forma correcta de hacer esto?

Como una pregunta expandida, ¿existe una lista definitiva de todas las señales disponibles para diferentes widgets en Qt, es decir, todos los valores posibles que se pueden pasar a SIGNAL (), o los atributos de "señal" disponibles para un widget (por ejemplo, botón). clicked.connect ())?