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);
    

你可能感兴趣的:(Qt(3))