pyqt5双击触发事件 |
您所在的位置:网站首页 › pyqt按钮点击事件处理 › pyqt5双击触发事件 |
参考: 1.pyqt5事件与鼠标事件 2.PyQt5 鼠标点击事件(点击响应事件可自定义):鼠标单击、双击、滚轮滚动、释放、移动等 3.使用pyqt5实现键盘(含组合键)鼠标事件响应 4.pythonGUI图形编程开发项目实战-24 pyqt实现人机交互的方式:事件机制
二、移动事件 移动事件通过moveEvent(QMoveEvent)方法监听,该方法接受事件对象QMoveEvent 鼠标进出该窗口的事件由enterEvent(QEvent)和leaveEvent(QEvent)方法监听 QApplicaption类的setDoubleClickInterval( )方法可设置双击的时间间隔;doubleClickInterval( )方法返回双击的时间间隔。 event参数是QMouseEvent对象,存储事件的其他信息。有以下方法: (这里有两个方法的参数是event是为了说明event是一切事件的父类的实例化对象) x() 和 y() -返回相对于控件空间的鼠标坐标值; pos() - 返回相对于控件空间的QPoint对象; localPos()- 返回相对于控件空间的QPointF对象; globalX() 和 globalY() - 返回相对于屏幕的x,y 坐标值; globalPos() - 返回相对于屏幕的QPoint对象; windowPos() - 返回相对于窗口的QPointF对象; screenPos() - 返回相对于屏幕的QPointF对象; button() - 返回以下枚举值(只列了部分,详细内容参见http://doc.qt.io/qt-5/qt.html#MouseButton-enum),用以判断是哪个鼠标健触发了事件。 QtCore.Qt.NoButton - 0 - 没有按下鼠标键。例如移动鼠标时的button()返回值; QtCore.Qt.LeftButton -1 -按下鼠标左键; QtCore.Qt.RightButton -2 -按下鼠标右键; QtCore.Qt.Mion 或 QtCore.Qt.MiddleButton -4 -按下鼠标中键; buttons() - 返回前面所列枚举值的组合,用于判断同时按下了哪些键。 modifiers() - 判断按下了哪些修饰键(Shift,Ctrl , Alt,等等),详见键盘事件(18)中的modifiers()。 timestamp() - 返回事件发生的时间;
keyPressEvent(self, event)方法监控键盘事件。通过重载该方法可以对增加对键盘的相应: # 检测键盘回车按键,函数名字不要改,这是重写键盘事件 def keyPressEvent(self, event): #这里event.key()显示的是按键的编码 print("按下:" + str(event.key())) # 举例,这里Qt.Key_A注意虽然字母大写,但按键事件对大小写不敏感 if (event.key() == Qt.Key_Escape): print('测试:ESC') if (event.key() == Qt.Key_A): print('测试:A') if (event.key() == Qt.Key_1): print('测试:1') if (event.key() == Qt.Key_Enter): print('测试:Enter') if (event.key() == Qt.Key_Space): print('测试:Space') # 当需要组合键时,要很多种方式,这里举例为“shift+单个按键”,也可以采用shortcut、或者pressSequence的方法。 if (event.key() == Qt.Key_P): if QApplication.keyboardModifiers() == Qt.ShiftModifier: print("shift + p") else : print("p") if (event.key() == Qt.Key_O) and QApplication.keyboardModifiers() == Qt.ShiftModifier: print("shift + o")六、焦点事件 当键盘输入时,我们需要让计算机知道这个输入传递给哪个控件。该功能通过焦点事件实现,假如窗口中有两个单行文本编辑控件,当光标落在哪个控件,焦点就在哪个控件。 九、改变事件 十二、事件的转发(父子对象 ) 示例展示了有无执行ignore()方法时,点击标签控件,消息的传递途径 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |