我写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