我寫Qt中使用一個QStackedWidget組織嚮導的各個頁面的嚮導式應用程序。現在我想切換頁面之間,這應該是可能的使用功能setCurrentWidget(...)
:Qt不找QStackedWidgets'插槽setCurrentWidget
我有一個簡單的主類實例化QWidget audioconfig
。然後,它會將此QWidget的使用pageStack.addWidget(&audioconfig);
一個QStackedWidget pageStack
。
後來,我想連接QStackedWidget的不同QWidget hub
到setCurrentWidget(...)
的某個信號以切換頁面。然而,我的編譯器的言論,
0Object ::連接:沒有這樣的插槽QStackedWidget :: setCurrentWidget(audioconfig)在/Users/paperflyer/Development/App/main.cpp:41`
有這兩件事我沒有在這裏得到:
- 顯然有這樣的功能。你可以在QStackedWidget的類定義中查找它。這裏發生了什麼?
- 爲什麼是第一個字符的編譯器輸出一個「0」,而我的源代碼清楚,正確顯示爲「Q」?
這裏是整個代碼:
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QStackedWidget pageStack;
CHub hub; // inherits from CWidget
CAudioConfig audioconfig; // ditto
pageStack.addWidget(&hub);
pageStack.addWidget(&audioconfig);
// connect() is a custom signal of hub
QObject::connect(&hub, SIGNAL(configure()), &pageStack, SLOT(setCurrentWidget(&audioconfig)));
pageStack.setGeometry(100,100,700,500);
pageStack.show();
return app.exec();
}
與往常一樣,非常感謝你的幫助!
哎呀,打我吧,你談到的參數不匹配。 +1 – Bill 2009-09-04 16:01:16
是的,我最近也遇到過一些麻煩的事情:) – rpg 2009-09-04 16:09:52
是的,你可以使用比發射的參數更少的參數。 – Bill 2009-09-04 17:08:04