我想替換另一個小部件。我正在使用StackedWidget。我有以下幾點。無法更改內部StackedWidget小部件
首先,我註冊添加一些小部件的StackedWidget:
self.stackedWidget.addWidget(w1)
self.stackedWidget.addWidget(w2)
self.stackedWidget.addWidget(w3)
的我綁定W1的按鈕點擊:
QObject.connect(w1.pushButton,SIGNAL("clicked()"),self.stackedWidget,SLOT(self.stackedWidget.setCurrentWidget(w2)))
對於插槽我自己也嘗試 「setCurrentIndex」。我檢查了信號是否被接收,並沒有問題。
最後,我顯示w1。
self.stackedWidget.setCurrentWidget(w1)
雖然「點擊()」被按下w1的按鈕時,接收到的信號,微件W2不會出現在StackedWidget。
UPDATE:
我做
QObject.connect(w1.pushButton,SIGNAL("clicked()"),self.stackedWidget,SLOT('w1Clicked()'))
的建議;然而,我得到
Object::connect: No such slot QStackedWidget::w1Clicked()
Object::connect: (sender name: 'pushButton')
Object::connect: (receiver name: 'stackedWidget')
我想我必須創建插槽「w1Clicked」不知何故,但我使用的設計師,我無法弄清楚。
我有一個主窗口StackedWidget和單獨的窗體與按鈕,所以我看不到如何進行連接或創建插槽。
另外,我發現,用這樣的問題,我是這樣做的:
QObject.connect(w1.pushButton,SIGNAL("clicked()"),self.stackedWidget,SLOT(self.stackedWidget.setCurrentWidget(w2)))
是「self.stackedWidget.setCurrentWidget(W2)」被立即執行,不等待信號!這就是爲什麼W2從未被顯示。
我仍然不知道。
您的文章似乎缺少一些東西... – PearsonArtPhoto
謝謝,我完成了它。 –
難道你會添加兩個w2小部件嗎? – PearsonArtPhoto