精英盒子 -> 生活 -> 我要吐槽 [打印本页]

490365333ibm 2011-11-19 11:45

我要吐槽

在实际的应用程序中,控制扩展对话框的按钮通常会在只显示了基本对话框时显示为Advanced>>,而在显示了扩展对话框时才显示为Advanced<<。这在Qt 中非常容易实现,只需在单击这个按钮时调用QPushButton 的setText()函数即可。


这个是《零基础学Qt4编程》第七章的一句话,等我动手实践的时候才发现setText根本不是槽,只是个普通成员函数.....
他怎么书上说的那么简单那!
connect(detailButton,SIGNAL(clicked()),detailButton,SLOT(setText(tr("Basic"))));会提示QPushButton类没有这个槽函数!
难道要手动子类化QPushButton?这不蛋疼么?为什么setText不是公有槽呢?

jybox 2011-11-19 13:39
等下,我去看看......

另外以后标题能不能反映一下内容

jybox 2011-11-19 13:47
话说我手里也有这书,是从图书馆借的,但是我个人感觉这本书不是太好,可以用来参考,但如果只看这一本就比较坑爹了

翻看了Qt 4.7.4的文档,setText是从QAbstractButton继承来的普通函数,不是槽...
你可以自己写一个槽函数,然后把信号绑定到自己的槽
然后在自己的槽中调用setText函数....




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.051982 second(s),query:5 Gzip enabled