QT&C++每日学习

本文介绍了如何在Qt中使用QTimer进行定时任务,如发送信号并监听,以及如何实现事件过滤器控制事件传递。此外,还讲解了窗口属性的Qt::WA_DeleteOnClose和实时更新时间的方法。

今日学习总结:

  1. 定时器
    1.1 利用定时器类 QTimer
    1.2 创建定时器对象
    QTimer *timer=new QTimer(this);
    1.3 启动定时器
    timer->start(500);
    1.4 每隔一定毫秒数,发送信号timeout,进行监听
connect(timer,SIGNAL(timeout()),this,SLOT(timer_timeout()));

1.5 暂停timer->stop();

  1. 事件过滤器
    2.1 定义一个eventFilter函数
bool TCRobotSystem::eventFilter(QObject *obj,QEvent *evt)

返回 true将参数event过滤出来(比如不想让它继续转发),否则返回 false
2.2 类型转换:QEvent类型转换为QMouseEvent类型
QMouseEvent *event=static_cast<QMouseEvent *>(evt);

  1. QT窗口属性简介
    3.1 Qt::WA_DeleteOnClose
    调用close()函数:bool widget::close();不一定会将窗口销毁,只有设置了Qt::WA_DeleteOnClose之后才会将窗口销毁,释放内存资源;未设置时相当于hide()、setvisible(false)作用一样。

  2. DWORD
    DWORD 就是 Double Word, 每个word为2个字节的长度,DWORD 双字即为4个字节,每个字节是8位,共32位。
    宏定义:typedef unsigned long DWORD;//DWORD 表示 32bit 无符号整数,

  3. 实时更新时间
    加上"yyy-MM-dd hh:mm:ss"后缀
    for instance:

QString timeStr=time.toString("yyy-MM-dd hh:mm:ss");
  1. 窗口界面
    设置当前界面,还原时使用:windowLocation=this->geometry();
    恢复界面位置:this->setGeometry(location)

  2. 给应用程序设置logo
    查看该篇文章

  3. 鼠标设置API cursor()
    查看该篇文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值