0
点赞
收藏
分享

微信扫一扫

Pyqt5鼠标键盘事件处理

Ad大成 2022-04-23 阅读 54
python
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *


class windows(QMainWindow):
def __init__(self):
super(windows,self).__init__()
self.setWindowTitle('事件机制')
self.setGeometry(600,400,800,600)

self.setMouseTracking(True) #设置鼠标自动跟踪

self.setCursor(Qt.CrossCursor) # ArrowCursor(标准箭头)、upArrowCursor(向上箭头)、 CrossCursor(十字光标)、Waitcursor (沙漏)
#self.unsetCursor() - 取消设置的鼠标形状。
#cursor() - 返回当前鼠标形状的QCursor对象,。


def mouseMoveEvent(self, event):
print('鼠标按移动')
print(event.pos(),event.globalPos()) #返回值分别为控件的整数坐标值 和 屏幕的整数坐标值
print(event.windowPos(),event.screenPos()) #返回值分别为控件的浮点坐标值 和 屏幕的浮点坐标值

def mouseReleaseEvent(self, event):
key_name = event.button()
print(key_name, '按键松开 ')

def mouseDoubleClickEvent(self, event):
print('鼠标按键双击')

def mousePressEvent(self, event):
key_name = event.button()
print(key_name,'鼠标按键按下')
#Qt.NoButton - 0 -
#Qt.LeftButton - 1 - 按下鼠标左键;
#Qt.RightButton - 2 - 按下鼠标右键;
#Qt.MiddleButton - 4 - 按下鼠标中键;
def enterEvent(self, event): #移入控件事件
print('鼠标进入控件')

def leaveEvent(self,event): #移出控件事件
print('鼠标移出控件')

def wheelEvent(self, event): #鼠标滚轮事件
print(event.angleDelta()) #滚轮转过的数值,单位为1/8度

def keyPressEvent(self, event):
key_name = event.key()
print('文本', event.text())
print('类型', event.type())
print('key值', event.key())
if key_name ==Qt.Key_F1:
print('F1按下')


def keyReleaseEvent(self, event):
print('键盘松开')

def paintEvent(self,event):
print('重绘')


if __name__ == '__main__':
app = QApplication(sys.argv)
main = windows()
main.show()
app.exit(app.exec())
举报

相关推荐

0 条评论