3
前一段時間,我在Qt for C++中做了一些工作;現在我正在使用PyQt。正確使用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)
所以,基本上,我的continueButton clicked
信號連接到EventsPage nextPage
信號,其我然後在堆疊到nextPage
方法連接。我可以深入研究Stacked內部的EventsPage,並連接self.widget1.continueButton.clicked
,但這似乎完全擊敗了信號和插槽的目的。
那麼這種方法是有意義的,還是有更好的方法?
+1尼斯類比:) – Skilldrick 2010-04-12 13:15:56