PyQt5 组合键
PyQt5 Ctrl+组合键
def keyPressEvent(self,event):print("按下:" + str(event.key()))if event.key() == Qt.Key_S:if QApplication.keyboardModifiers() == Qt.ControlModifier:self.actionFile.save(self.action_text.toPlainText())self.status.showMessage("保存成功 %s" % self.file)
使用pyqt5实现键盘(含组合键)鼠标事件响应
使用python3.6,pyqt5
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5 import QtCore
from PyQt5.QtCore import *# 声明窗口
class Window(QWidget):# 初始化def __init__(self):super().__init__()self.initUI()# 设置窗口的参数def initUI(self):self.setGeometry(300, 300, 300, 200)self.setFixedWidth(300)self.setFixedHeight(200)self.setWindowTitle('按键检测')self.show()# 检测键盘回车按键,函数名字不要改,这是重写键盘事件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")# 响应鼠标事件def mousePressEvent(self, event):if event.button() == Qt.LeftButton:print("鼠标左键点击")elif event.button() == Qt.RightButton:print("鼠标右键点击")elif event.button() == Qt.MidButton:print("鼠标中键点击")if __name__ == '__main__':app = QApplication(sys.argv)window = Window()sys.exit(app.exec_())
keyPressEvent(QKeyEvent) 键盘按下时调用
keyReleaseEvent(QKeyEvent) 键盘释放时调用
from PyQt5.QtWidgets import QApplication, QWidget,QLabel,QPushButton
import sys
from PyQt5.QtGui import QCursor
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPainter, QPixmapclass Label(QLabel):def keyPressEvent(self, QKeyEvent): # 键盘某个键被按下时调用#参数1 控件if QKeyEvent.key()== Qt.Key_A: #判断是否按下了A键#key() 是普通键print('按下了A键')if QKeyEvent.modifiers()==Qt.ControlModifier and QKeyEvent.key()== Qt.Key_A:#两键组合#modifiers() 判断修饰键#Qt.NoModifier 没有修饰键#Qt.ShiftModifier Shift键被按下#Qt.ControlModifier Ctrl键被按下#Qt.AltModifier Alt键被按下print('按下了Ctrl-A键')if QKeyEvent.modifiers() == Qt.ControlModifier|Qt.ShiftModifier and QKeyEvent.key() == Qt.Key_A: # 三键组合print('按下了Ctrl+Shift+A键')class win(QWidget): #创建一个类,为了集成控件def __init__(self):super().__init__()self.resize(600,600)self.setWindowTitle('事件学习')self.num=0self.label=Label('标签',self)self.label.move(100,100)self.label.grabKeyboard() #控件开始捕获键盘# 只有控件开始捕获键盘,控件的键盘事件才能收到消息if __name__=='__main__':app=QApplication(sys.argv) #创建应用w=win()w.show()sys.exit(app.exec_())
self.label.grabKeyboard() #控件开始捕获键盘
#只有控件开始捕获键盘,控件的键盘事件才能收到消息.
self.label.releaseKeyboard() #停止捕获键盘
PyQt5 组合键相关推荐
- python组合键触发_Python3 tkinter基础 Frame bind 捕捉多键同时按
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...
- react 监听组合键_投资组合中需要的5个React项目
react 监听组合键 You've put in the work and now you have a solid understanding of the React library. 您已经完 ...
- THINKPAD笔记本Fn组合键介绍
THINKPAD笔记本Fn组合键介绍 Fn键作为笔记本的组合键,和其他键组合使用时会有强大的功能,很多使用技巧都是通过Fn组合键来实现的.下边就为大家总结一下IBM ThinkPad系列笔记本Fn键的 ...
- windows命令大全_必收藏!电脑快捷键、组合键大全
键盘快捷键使用大全所谓快捷键就是使用键盘上某一个或某几个键的组合完成一条功能命令,从而达到提高操作速度的目的.下面为大家介绍一些常用快捷键的使用和功能.希望这些电脑快捷键大全可以给用户带来便捷的上网体 ...
- js简单的设置快捷键,hotkeys捕获键盘键和组合键的输入
设置快捷键 这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb). hotkeys on Github hotkeys预览 __ __ __ | ...
- Bash基础(2) 通配符 组合键 数据重定向 管道 tee
Bash基础(2) 通配符 组合键 数据重定向 管道 tee命令 1 文本名"通配符" *:匹配任意长度的任意字符: ?:匹配任意单个字符: []: 匹配指定范围内 ...
- 这是高手最常用的第一快捷组合键 - imsoft.cnblogs
1.锁定电脑 2.要找电脑上的文件时,一般人会先找到"我的电脑",然后点击打开,而高手总是很酷的,轻轻按下键盘上的Windows键不放然后再按E键,直接打开电脑的资源管理器,而一般 ...
- Ctrl+Alt组合键在VMware虚拟机中如何使用
http://kb.vmware.com/kb/1011705 现象: Ctrl+Alt+其他键的组合并不如期生效,比如Ctrl+Alt+Esc,Ctrl+Alt+F2(Linux切换终端) 分析: ...
- QlikView Script -组合键处理
QlikView装载数据时,如果有两个或以上表中存在两个或以上相同的字段时就会自动产生组合键. 组合键实际上是产生了表间的多对多关系,这种关系逻辑上可能是对的.组合键会引起QlikView性能隐患,存 ...
- 关于PostMessage后台发送组合键
PostMessage发送组合键,我实验过几次,都失败 比如下面这些语句发送ALT+V, 根本无法发送成功 PostMessage(hWnd,WM_SYSKEYDOWN,VK_MENU,0); Pos ...
最新文章
- 从芯片到系统:FPGA加速卡的发展历程与展望
- Ember.js系列文章
- PHP 错误与异常 笔记与总结(14 )记录和发送异常信息
- 当检测到运动时如何自动打开门灯
- ikbc机械键盘打字出现重复_机械键盘轴体你最爱谁?ikbc新品键盘评测:我爱红轴,不解释!...
- 如何用python刷屏_利用python实现在微信群刷屏的方法
- PHICOMM(斐讯)N1盒子 - 外接显示器刷机调试方案
- 软件工程第二次作业——git的使用
- vs mysql 开发erp_ERP/MIS开发 Mindscape NHibernate + MySQL 快速开发入门
- 【Java】Prim最小生成树
- IT行业怎么了?程序员按时上下班也被开除
- 福建厦门双十计算机竞赛,22人夺一等奖!恭喜厦门一中、双十中学、实验中学...
- 地平线开发者社区真心话大冒险,邀你闯关!
- MS-TCT:InriaSBU提出用于动作检测的多尺度时间Transformer,效果SOTA!已开源!(CVPR2022)...
- 数制间的转换,原码、反码、补码
- Oracle 将多列合并成一列
- 【ARM CPU 之 Cortex-M7 介绍】
- 文字游戏之恶搞拆字造句
- 人世温情:100个程序员的十年故事(下)
- 录取人数逐年攀升,西交电信学部的8个CS院系实力如何?
热门文章
- 建筑企业收并购系列二:吸收合并政策影响
- [转帖]历史上真实的《勇敢的心》
- Apple账号密码自动填充
- Markdown语句总结
- K折交叉验证大集合(KFold 、Stratified k-fold、Group k-fold、StratifiedGroupKFold)
- python绘画海贼王_Python入门之生成海贼王云图
- IBM Tivoli NetView网管软件实战
- 【学习笔记】C++STL和泛型编程-侯捷
- Backdrop CMS介绍
- 虚拟服务器zend optimizer,windows服务器配置Zend Optimizer方法-安装Zend Optimizer步骤-SEO优化-猴子技术宅...