Ski*_*ick 3 python pyqt signals-slots
前段时间我在Qt for C++中做过一些工作; 现在我正在使用PyQt.
我有一个QStackedWidget的子类,里面是QWidget的子类.在QWidget中,我想单击一个按钮,该按钮将转到QStackedWidget的下一页.我的(简化)方法如下:
class Stacked(QtGui.QStackedWidget):
def __init__(self, parent=None):
QtGui.QStackedWidget.__init__(self, parent)
self.widget1 = EventsPage()
self.widget1.nextPage.connect(self.nextPage)
self.widget2 = MyWidget()
self.addWidget(self.widget1)
self.addWidget(self.widget2)
def nextPage(self):
self.setCurrentIndex(self.currentIndex() + 1)
class EventsPage(QtGui.QWidget):
nextPage = QtCore.pyqtSignal()
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.continueButton = QtGui.QPushButton('Continue')
self.continueButton.clicked.connect(self.nextPage)
Run Code Online (Sandbox Code Playgroud)
所以,基本上,我将continueButton clicked信号连接到EventsPage nextPage信号,然后我将Stacked连接到该nextPage方法.我可以深入研究Stacked中的EventsPage内部并进行连接self.widget1.continueButton.clicked,但这似乎完全打败了信号和插槽的目的.
那么这种方法是否有意义,还是有更好的方法?
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |