Qt自定义信号与槽&定时器

一、自定义信号和槽
1、信号和槽必须定义在类中,并且该类必须继承Qt中的某个类,一般选择继承QObject。
2、必须在类中开头的部分写 Q_OBJECT 没有分号结尾,如果在项目构建前没有写Q_OBJECT,信号与槽连接就会失败,
那怕添加了Q_OBJECT也会出现以下错误。
错误:undefined reference to “vtable for Test”
解决方法:删除项目中所有Q构造器自动生成的文件,使用以下命令重新构建项目。
qmake -project
qmake
3、槽函数尾声明在 访问属性 slots: 下面,像普通函数一样可以先声明后定义,也可以直接定义。
4、信号要定义在 signals: 下面,像函数声明一样即可,不需要实现。
5、使用emit 可以发射信号,发送信号就相当于调用信号函数,可以附加参数。

定时器:
每隔一段时间可以产生一个信号或事件.
信号用法:
1.包含头文件Qtimer
2.实列化定时器对象
3.自定义槽函数并于定时器timeout()信号连接.(connect)
4.调用setInterval成员函数设置定时器的时间间隔,以毫秒为单位,也可以启动定时器设置时间间隔
5.调用start()成员函数,启动定时器.
6.调整stop()成员函数,可以停止计时器.

事件用法:
1.创建一个新类并继承计时器类.
2.在新类中覆盖timerEvent成员函数.
3.包含新类头文件,创建新定时器对象.
4.调用start()成员函数,启动定时器,timerEvent事件函数会被自动调用.
5.一旦实现了timerEvent事件函数,就会产生timout()信号.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值