• 7703阅读
  • 4回复

[讨论]Qt笔记五:如何获取发送信号的对象的指针? [复制链接]

上一主题 下一主题
离线青春岁月
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-22
关键词: 对象指针

我给大家一个例子。
void CBuiltinDlg::doPushBtn()                                                                    //槽函数
{
    QPushButton *btn = qobject_cast<QPushButton *>(sender());
    //获取发送信号的QPushButton对象的指针。函数QObject::sender()返回发送信号的对象的指针,返回类型为
    //QObject *。模板函数 T qobject_cast(QObject *object)完成类型的转换,将<QObject *>类型的对象
    //指针转换为类型为<T *>的对象指针,如果转换成功,返回正确的对象指针,否则返回 0。注意:类型T必须是直接
    //或者间接的继承自QObject的类,并且在该类的定义里有Q_OBJECT宏变量,此外,可以认为一个类继承自它自己
    if(btn == colorPushBtn)
    {
        //颜色对话框
        QPalette palette = displayTextEdit->palette();  //获取displayTextEdit的调色板
        QColor color = QColorDialog::getColor(palette.color(QPalette::Base),this);
if(color.isValid())     //返回的颜色是否有效
        {
            palette.setColor(QPalette::Base,color);
            displayTextEdit->setPalette(palette);

        }

    }
  
go!   go!  go!  go!
离线XChinux

只看该作者 1楼 发表于: 2011-06-22
建议将你的系列文章发一个集合帖子,将各个系列的链接加进去。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zzjin

只看该作者 2楼 发表于: 2011-06-23
不错.支持LZ的系列教程~~
离线luoyang

只看该作者 3楼 发表于: 2011-06-23
我也支持一下~
离线青春岁月

只看该作者 4楼 发表于: 2011-06-24
回 1楼(XChinux) 的帖子
我现在是学一点,总结一点!
go!   go!  go!  go!
快速回复
限100 字节
 
上一个 下一个