Qt(3)

一、定时器
Qt中的QTimer有两种使用方式:
信号:
void start(int msec)成员函数,开启定时器并设置定时器的时间间隔。
时间到后会发出timeout信号,连接槽函数即可。
事件:
继承QTimer类,对该类进行扩展,并覆盖 void timerEvent(QTimerEvent *e) 事件。
void start(int msec)成员函数,开启定时器并设置定时器的时间间隔。
时间到后会自动执行timerEvent函数。
注意:事件函数被执行就不再产生timeout信号。
二.线程
Qt中的线程类不能直接使用,必须继承QThread并实现run函数
新的线程类对象调用start成员函数时会自动执行run函数
1.线程的终止
线程对象调用 void terminate() 成员函数会终止线程,但并不会立即终止,这取决于线程的调度策略
terminate()类似于线程的取消操作,而线程也可以设置是否响应取消操作, void setTerminationEnabled(bool enabled=true)
线程真正终止时会发射 void terminated()信号
也可以使用wait函数等待线程的终止,还可以回收线程的资源
类似POSIX线程里的pthread_join函数
2.线程id

		static Qt:: HANDLE currentThreadId()
		获取当前线程的id
		static QThread* currentThread()	
		获取当前线程的句柄

三.鼠标与键盘的事件
控件其实一直在监控鼠标与键盘,当鼠标与键盘发生操作时会调用控件中的事件函数,事件函数默认什么都不做,如果想让事件做一些操作需要继承控件并覆盖事件函数

	// 鼠标按下
	void mousePressEvent(QMouseEvent *);
	// 鼠标弹起
    void mouseReleaseEvent(QMouseEvent *);
    // 鼠标双击
    void mouseDoubleClickEvent(QMouseEvent *);
    // 鼠标按下并移动
    void mouseMoveEvent(QMouseEvent *);
    // 键盘按下事件
    void keyPressEvent(QKeyEvent *e);
    成员函数 text 可以获取到按键的字符
    成员函数 key 可以获取到键值 与 Qt::Keyx 进行比较
    // 键盘弹起事件
    void keyReleaseEvent(QKeyEvent *e);
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值