事件类和事件类型
事件是QEvent类或者它的派生类的实例。
QEvent 主要的几个接口
1、void accept(); //表示接收事件,该事件已经被处理过了
2、 void ignore(); //忽略
3、isAccepted() ; //是否接受
4、isPointerEvent() // 该事件是不是 PointerEvent点击事件或其派生类的示例
5、isSinglePointEvent(); //是不是单击或其派生类的实例
QEvent:: Type type() ; //用来判断当前事件类型(鼠标、键盘等)
具体的事件类自己去QT手册里查一下
事件的处理
任何从QObject派生的类都可以处理事件,主要是从QWidget派生的窗口类和UI组件需要处理事件
调用方法
widget.h, class widget{}中右击,选择 重构->选择重构虚函数 在该选项下可以选择一般事件,如果要自定义的话可以重构 event()
注:event->buttons() //判断是不是鼠标按钮
Qt::leftButton() ;//左键
event->Key() //键盘上的按键 Eg: Qt::Key_A //字母A
事件与信号
总体流程: 可以通过类(在QT里新建一个cpp 文件,把具体的UI组件作为基类继承,重写 event事件,以及要用到的一般事件,注一定要自定义一个信号,在要用到的一般事件里边发送)再回到主窗体中,将某个一般事件中想要实现的功能写入自定义槽函数,最后通过connect将指定组件的信号与主窗体中的自定义槽函数相关联
eg: connect(ui->lab,SIGNAL(doubleClicked()),this,SLOT(do_doubleClick()));
doubleClicked:: 自定义类里的自定义函数
需要将TLabel组件 右击选择 提升为 将指定自定义类和组件绑定起来