我给大家一个例子。
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);
}
}