• 8844阅读
  • 6回复

发送窗体成员控件的信号? [复制链接]

上一主题 下一主题
离线zyfu0000
 
只看楼主 倒序阅读 楼主  发表于: 2010-06-19
— 本帖被 xtfllbl 执行合并操作(2010-06-20) —
关键词: QT4信号槽
如一个Widget中有20个QPushButton,信号clicked()都是放在一个函数中用sender()来处理(doPushButton()).

但程序中有触发其中一个Button的clicked()信号的事件,本来是可以用emit PushButton->clicked() 来解决.

但clicked()函数是QPushButton的私有成员,在Widget中不能访问.也就不能这么写了.

还有什么其他方法来实现?就是发送成员控件的信号?
离线zyfu0000
只看该作者 1楼 发表于: 2010-06-19
发送窗体成员控件的信号?
如一个Widget中有20个QPushButton,信号clicked()都是放在一个函数中用sender()来处理(doPushButton()).

但程序中有触发其中一个Button的clicked()信号的事件,本来是可以用emit PushButton->clicked() 来解决.

但clicked()函数是QPushButton的私有成员,在Widget中不能访问.也就不能这么写了.

还有什么其他方法来实现?就是发送成员控件的信号?
离线dbzhang800

只看该作者 2楼 发表于: 2010-06-21
建议还是多看看Qt自带的 manual 吧。

PushButton->click();
or
PushButton->animateClick();
离线zyfu0000
只看该作者 3楼 发表于: 2010-06-24
并不是所有的空间都有类似pushbutton的click这样的共有方法,貌似comboBox的activate信号就没有对应的共有方法.有没有通用的方法!
离线dbzhang800

只看该作者 4楼 发表于: 2010-06-24
引用第3楼zyfu0000于2010-06-24 20:31发表的  :
并不是所有的空间都有类似pushbutton的click这样的共有方法,貌似comboBox的activate信号就没有对应的共有方法.有没有通用的方法!


告诉大家你要做什么,这个对你解决问题才是重要的
离线zyfu0000
只看该作者 5楼 发表于: 2010-06-25
就是有没有一个通用的方法来程序模拟用户的输入,如Button的clicked()和ComboBox的activate().
来实现在主窗口中发送子窗口(就是控件了)的信号,然后接收者是主窗口!
其实就是类似:button->clicked()和comboBox->activated(),但有些这样的信号是private,在主窗口中不能调用!
离线dbzhang800

只看该作者 6楼 发表于: 2010-06-25
引用第5楼zyfu0000于2010-06-25 22:01发表的  :
就是有没有一个通用的方法来程序模拟用户的输入,如Button的clicked()和ComboBox的activate().
来实现在主窗口中发送子窗口(就是控件了)的信号,然后接收者是主窗口!
其实就是类似:button->clicked()和comboBox->activated(),但有些这样的信号是private,在主窗口中不能调用!


多看manual:

http://doc.qt.nokia.com/4.6/qtest.html#mouseClick
快速回复
限100 字节
 
上一个 下一个