• 5896阅读
  • 4回复

请教以下程序的意思 [复制链接]

上一主题 下一主题
离线lincheng3068
 

只看楼主 正序阅读 楼主  发表于: 2007-03-25
— 本帖被 XChinux 执行加亮操作(2008-07-26) —
Button *clickedButton=qobject_cast<Button *>(sender());
这句话的意思是?
有知道,告诉一下,谢谢!!!
[ 此贴被XChinux在2008-07-26 09:12重新编辑 ]
离线attica

只看该作者 4楼 发表于: 2007-03-26
sender()获取发送signal的widget指针,qobject_cast<Button *>将这个指针转换为Button *
这是一种非常有用的方法,通常用于将多个相同的widget的相同signal连接到同一个slot,
比如将多个Button的单击事件连接到同一个slot上

void Ethia::on_btn_code_clicked()
{
    QPushButton * btn = qobject_cast<QPushButton *>(sender());
    phonecode_add(btn->toolTip());
}
离线浪漫天使
只看该作者 3楼 发表于: 2007-03-26
不好意思,我说错了@_@ ~_~
离线ahu_c2
只看该作者 2楼 发表于: 2007-03-26
cast是类型转换。比用()安全。
离线浪漫天使
只看该作者 1楼 发表于: 2007-03-26
qobject_cast 这个是类型判断,判断是不是 Button * 类型的,而判断对象就是 sender() 即qt对应的slot的信号的发送者,估计这个语句是在某个slot里面的,不打包票的哦,呵呵
快速回复
限100 字节
 
上一个 下一个