本文共 935 字,大约阅读时间需要 3 分钟。
一般在工程项目开发中,我们都需要自定义槽函数实现具体功能。那么系统槽函数和自定义槽函数在定义上有什么区别呢?
示例代码:自定义槽
#include#include #include class Widget : public QWidget //QWidget的父类为QObject{ Q_OBJECT //必须要在类声明最开始处使用protected: QPushButton m_Btn;protected slots: //使用slots关键字 void onButtonClicked() //槽函数与信号函数一直,没有参数 { QPushButton* btn = (QPushButton*)sender(); qDebug() << "The Button is Clicked."; qDebug() << btn->text(); }public: Widget() { m_Btn.setText("Clicked"); m_Btn.setParent(this); connect(&m_Btn, SIGNAL(clicked()), this, SLOT(onButtonClicked())); }};//main.cint main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}
注意:Q_OBJECT需要在头文件定义,在源文件会产生错误。
转载地址:http://jhhsi.baihongyu.com/