Articles of signal slots

Aspectos básicos de las señales y ranuras de PySide (o PyQt)

Considere un ejemplo simple como este que vincula dos deslizadores utilizando señales y ranuras: from PySide.QtCore import * from PySide.QtGui import * import sys class MyMainWindow(QWidget): def __init__(self): QWidget.__init__(self, None) vbox = QVBoxLayout() sone = QSlider(Qt.Horizontal) vbox.addWidget(sone) stwo = QSlider(Qt.Horizontal) vbox.addWidget(stwo) sone.valueChanged.connect(stwo.setValue) if __name__ == ‘__main__’: app = QApplication(sys.argv) w = MyMainWindow() w.show() sys.exit(app.exec_()) ¿Cómo […]

Emisión de señales desde un hilo de Python utilizando QObject

Me gustaría saber cuáles son las consecuencias de emitir una señal desde un subproceso de python dentro de un QObject, en comparación con un QThread. Vea la siguiente clase: class MyObject(QtCore.QObject): def __init__(self): super().__init__() sig = pyqtSignal() def start(self): self._thread = Thread(target=self.run) self._thread.start() def run(self): self.sig.emit() # Do something Ahora, asumiendo que en el hilo […]

PySide: ¿Cómo podría activar el botón QPush pulsado actual, no otro agregado más adelante?

Soy nuevo en PySide. En mi progtwig, encontré un problema que cuando hago clic en un botón, activa otro botón que se agregó más adelante. ¡Gracias! self.addContentButton = QtGui.QPushButton(‘Add’) self.addContentButton.clicked.connect(self.addContent) def addContent(self): ”’ slot to add a row that include a lineedit, combobox, two buttons ”’ self.contentTabHBoxWdgt = QtGui.QWidget() self.contentName = QtGui.QLineEdit(‘line edit’) self.conetentTypeBox = […]

¿Cómo emito una señal de PySide con un argumento de tipo python personalizado?

Estoy teniendo problemas al usar señales en mi progtwig PySide Python Qt. Quiero emitir una señal que tome un solo argumento de un tipo de python personalizado. La documentación dice Las señales se pueden definir utilizando la clase QtCore.signal (). Los tipos Python y los tipos C se pueden pasar como parámetros. Así que intenté […]

PyQt5: ¿Cómo puedo conectar un QPushButton a una ranura?

Bien, casi todos los tutoriales / comprensibles-escritos en lenguaje humano son para PyQt4. Pero, PyQt5 cambió la forma en que funciona todo el ‘botón de conexión a una ranura’, y aún no puedo entender cómo hacerlo. Hice una gui rápida en QtDesigner, y tengo un QPushButton y una etiqueta. Cuando hago clic en el botón, […]

Emitir señal en hilo de python estándar

Tengo una aplicación en la que tengo un hilo de red. La parte de la interfaz de usuario pasa una callback de callback a este hilo. El hilo es un hilo de python normal , es NO QThread . ¿Es posible emitir Slot de PyQT dentro de este hilo?

PyQt5: utilizando QtDesigner, ¿cómo se conecta una señal con una ranura / llamable definida en un módulo?

Soy un principiante total con PyQt5, disculpe mi ignorancia Estoy tratando de conectar un botón pulsador con una función que definí import sys from PyQt5 import QtGui, QtWidgets,uic def PrintSomething (): print(“Hello world”) if __name__ == ‘__main__’: app = QtWidgets.QApplication(sys.argv) window = uic.loadUi(“Auto.ui”) window.show() sys.exit(app.exec_()) Para hacer lo anterior, agregué una ranura a MainWindow usando […]

¿PyQT4 signal.connect mantiene los objetos en vivo?

Si tengo una señal y registro una función de objetos en la señal, ¿esto mantendrá el objeto vivo y detendrá la recolección de basura de ese objeto? P.ej class Signals(): signal = Qt.pyqtSignal() def __init__(self): QObject.__init__(self) class Test(); def __init__(self, s): s.connect(self.done) def done(self): print(“Done”) s = Signals() t = Test(s.signal) t = None s.signal.emit() […]

Aplicando funciones de Python directamente al diseñador Qt como señales.

Soy nuevo en la progtwigción Qt y GUI en general, pero he hecho un poco de encoding en los módulos de escritura en Python, etc. Necesito desarrollar interfaces gráficas de usuario simples para algunos de mis módulos antiguos. Lo que estoy tratando de hacer puede ser representado por el siguiente ejemplo simple: def f(x, y): […]

Dado un pyqtBoundSignal cómo determinar la ranura?

Dada la señal, ¿cómo puedo determinar la ranura a la que está conectada una señal en particular? Estoy familiarizado con la forma de conectar la señal y las ranuras, esto es más para propósitos de depuración. Estoy usando pyqt5, python 2.7