• 17274阅读
  • 9回复

靠! 怎么clicked信号和 QStackedWidget中的setCurrentIndex还连不上? [复制链接]

上一主题 下一主题
离线xiaobaiwen
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-05
— 本帖被 XChinux 执行加亮操作(2008-11-06) —
为了通过按钮来切换页面,搞了我一晚上,结果是把QStackedWidget Q3WidgetStack搞混了!!
要是Qt的connect会提示错误,也就不会浪费这么多时间了!
大家有让connect提示信号和槽错误的方法吗

不过还是有问题就是我用这样一句connect(pushBtton, SIGNAL(clicked), stackedWidget, SLOT(setCurrentIndex(0))); 来连接pushButton信号clicked和stackedWidget的槽setCurrentIndex,  就是连不上,不知道是怎么搞的?!!

最后只有自己又定义了一个槽,在其中调用 :stackedWidget->setCurrentIndex(1);
再把这个槽和clicked()信号连起来,才搞定!!


累死我了!! 有人碰到这样的情况吗?  你们如何解决的啊???
离线vrcats
只看该作者 1楼 发表于: 2008-11-06
莫办法~ Qt就是这么设计的,信号和插座的参数必须严格一致
离线XChinux

只看该作者 2楼 发表于: 2008-11-06
信号与槽的参数必须相容,也就是说槽的参数必须小于等于信号的参数个数且类型一致。
如果是在windows下的话,在.pro中加上CONFIG += console,这样能在控制台中看到连接信号、槽错误的提示的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线wvins
只看该作者 3楼 发表于: 2008-11-06
Qt的Connect确实不是安全的,我之前漏写了()都没有报错,不过就没有连接上。
-------
也许我该判断一下connect的返回值,如果有的话。
离线xiaobaiwen
只看该作者 4楼 发表于: 2008-11-06
引用第2楼XChinux于2008-11-06 09:06发表的  :
信号与槽的参数必须相容,也就是说槽的参数必须小于等于信号的参数个数且类型一致。
如果是在windows下的话,在.pro中加上CONFIG += console,这样能在控制台中看到连接信号、槽错误的提示的。


恩! 高手就是 明白得多啊!! 谢谢你的解释
离线houapple
只看该作者 5楼 发表于: 2009-09-27
我一开始就是用的自定义的槽,然后在槽中设置来连接
主要是还有其他功能要实现,不单纯是分页

另外一点,如果可以用QT设计器编辑信号 /槽这个功能 看有哪些槽可以调用
如果没有,就只有自定义了
离线beajisong

只看该作者 6楼 发表于: 2009-09-27
connect(pushBtton, SIGNAL(clicked), stackedWidget, SLOT(setCurrentIndex(0)));

信号可以比槽参数多,多的会被忽略
槽可以带有参数,但是顺序需要和信号一致
槽不可以在连接时制定参数
setCurrentIndex(0)
这个和调用完全无关,你想的偏了
离线joiky
只看该作者 7楼 发表于: 2009-09-28
如果信号和槽不能成功设置,在Application Output窗口会有提示信息(Qt Creator),其它编译器应该也有。
离线skyeyo
只看该作者 8楼 发表于: 2011-03-04
请教 LZ 如何自定义 槽 和 信号啊  遇到了同样的问题

谢谢!
离线cangyuegui

只看该作者 9楼 发表于: 2013-01-22
快速回复
限100 字节
 
上一个 下一个