模块间的PyQt信号
我有点搞不懂一个可能很简单的事情。怎么从一个模块(Main.py)去修改另一个模块(module2.py),这个模块是作为QDockWidget连接到主窗口的,然后能立刻看到这些变化呢?
1 个回答
3
你需要在类里面声明一个信号,然后把这个信号连接到一个函数上。
class MyClass(QtCore.QObject): # Could be QWidget must be inherited from QObject
mysignal = QtCore.pyqtSignal(int, int, int, int) # types to pass values to the method call
...
myclass = MyClass()
other = QtGui.QMainWindow()
myclass.mysignal.connect(other.setGeometry)
myclass.mysignal.emit(0, 0, 1, 1)
http://pyqt.sourceforge.net/Docs/PyQt4/new_style_signals_slots.html