博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt原理分析(二):Qt中自定义槽函数
阅读量:4112 次
发布时间:2019-05-25

本文共 935 字,大约阅读时间需要 3 分钟。

Qt中自定义槽函数

一般在工程项目开发中,我们都需要自定义槽函数实现具体功能。那么系统槽函数和自定义槽函数在定义上有什么区别呢?

自定义槽函数的规则

  • 只有QObject的子类才能自定义槽
  • 定义槽的类必须在声明的最开始处使用Q_OBJECT
  • 类中声明槽时需要使用slots关键字
  • 槽与所处理的信号在函数签名上必须一致
  • SIGNAL和SLOT所指定的名称中
  • 可以包含参数类型
  • 不能包含具体的参数名

示例代码:自定义槽

#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/

你可能感兴趣的文章
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>