Qt 设置快捷键
Qt设置快捷键
本文仅供本人知识总结使用,所以内容会比较浅显,不喜勿喷。
一、需要的类
QShortcut
函数:
autoRepeat()- 返回当前快捷键响应是否可以重复响应,默认
Ture,返回值类型为bool。
- 返回当前快捷键响应是否可以重复响应,默认
context()- 返回当前快捷响应的上下文,默认
WindowShortcut,返回值类型ShortcutContext。
- 返回当前快捷响应的上下文,默认
id()- 返回当前快捷键响应的ID,返回值类型为
int。
- 返回当前快捷键响应的ID,返回值类型为
isEnabled()- 返回当前快捷键响应是否启用,默认
Ture,返回值类型为bool。
- 返回当前快捷键响应是否启用,默认
key()- 返回当前快捷键响应的快捷键,默认
None,返回值类型为QKeySequence。
- 返回当前快捷键响应的快捷键,默认
parentwidget()- 返回当前快捷键响应的父窗口,返回值类型为
QWidget。
- 返回当前快捷键响应的父窗口,返回值类型为
信号
activated()- 快捷键被激活。
… …
剩下的不一一列举了,贴上官方文档的链接,感兴趣的自己去看吧。
二、设置快捷键
官方文档原文翻译:
当用户为给定快捷方式键入键序列时,会发出快捷方式的activated()信号。(在出现歧义的情况下,会发出activatedAmbiguously()信号。)当快捷方式的父窗口小部件接收事件时,Qt的事件循环会“侦听”快捷方式。
# 创建快捷键
self.ShortCtrl_F = QShortcut(QKeySequence("Ctrl+F"),self)
# 给快捷键设置信号事件
self.ShortCtrl_F.activated.connect(def)
只是给主窗口创建快捷键的就不必往下看了;下面是只想给一些子窗口设置快捷键的理解,但对流程理解的正确性笔者也不能确定,因为官方文档也没说清楚。不过这个代码能正常实现这个需求是可以的,只是对具体内部的实现流程,笔者仍疑似之间。
我的理解:
当前快捷方式的父窗口self启动被打开或是焦点在它时,QKeySequence("Ctrl+F")快捷键才能激活事件def
例如:
我有个子窗口self.Widget_child需要点击按钮才能打开
- 没点击按钮,
self.Widget_child没打开时,按下"Ctrl+F"事件def没反应。 - 点击按钮,
self.Widget_child打开时,按下"Ctrl+F"事件def才有反应。
self.ShortCtrl_F = QShortcut(QKeySequence("Ctrl+F"),self.Widget_child)
self.ShortCtrl_F.activated.connect(def)
Qt 设置快捷键的更多相关文章
- QT 设置菜单图标
目录 一.添加主窗口菜单 二.添加菜单图标 三.添加资源文件 四.使用资源文件 五.使用代码来添加菜单和图标 正文 一.添加主窗口菜单 1.新建Qt Gui应用,项目名称为myMainWind ...
- Qt 事件处理 快捷键(重写eventFilter的函数,使用Qt::ControlModifier判断)
CTRL+Enter发送信息的实现 在现在的即时聊天程序中,一般都设置有快捷键来实现一些常用的功能,类似QQ可以用CTRL+Enter来实现信息的发送. 在QT4中,所有的事件都继承与QEvent这个 ...
- js简单的设置快捷键,hotkeys捕获键盘键和组合键的输入
设置快捷键 这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb). hotkeys on Githubhotkeys预览 创建 您将需要在您的系 ...
- Winform button按钮设置快捷键
1)Text属性命名时后面&加键名,如:文件(&F) 2)添加一个ContextMenuStrip控件,同时在Items里添加一个项,并为项设置快捷键,把Visible设置为false ...
- 为控件Button设置快捷键(组合键)
控件MenuStrip和ContextMenuStrip可通过ShortCcutKeys属性设置快捷键,而控件Button没有ShortcutKey属性,如何为控件Button设置快捷键呢(组合件键) ...
- xcode 设置快捷键 整行上下移动
设置整行代码上下移动:找到Xcode中的自带的配置文件:/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/ ...
- Qt Creator 快捷键
Qt Creator 你必须要掌握的快捷操作 http://jingyan.baidu.com/article/6fb756ecab5158241858fbb0.html 多使用快捷键能显著提高工作效 ...
- Sublime Text设置快捷键让html文件在浏览器打开
一.安装View In Browser插件 快捷键 Ctrl+Shift+P(菜单栏Tools->Command Paletter),输入 pcip选中Install Package并回车,输入 ...
- 【原创】Eclipse中为SVN设置快捷键
SVN是深受开发者喜爱的版本控制工具,其较CVS有更好的控制策略.在Android开发中,我也选择SVN作为版本控制工具.Eclipse的SVN插件名叫Subclipse,可以到htt ...
- Web开发中设置快捷键来增强用户体验
从事对日外包一年多以来,发现日本的无论是WinForm项目还是Web项目都注重快捷键的使用,日本人操作的时候都喜欢用键盘而不是用鼠标去点,用他们的话来说"键盘永远比鼠标来的快",所 ...
随机推荐
- 光伏储能电厂设备连接iec61850平台解决方案
在当今日益发展的电力系统中,光伏储能技术以其独特的优势逐渐崭露头角,成为可再生能源领域的重要组成部分.而在光伏储能系统的运行与监控中,通信协议的选择与实现则显得至关重要.本文将重点介绍光伏储能系统中的 ...
- 创建基于kotlin开发环境的spring项目入门
kotlin是idea所属公司开发的一门jvm语言,如果你不了解估计也不会看这里,所以我就不多说了. 这里简单说一下如何新建一个小的kotlin spring项目.kotlin和idea是一家公司,所 ...
- CF1864F 题解
写了一小时结果被卡常了(笑. 考虑新加入一个数什么时候会产生贡献,或者什么时候不会产生贡献. 发现当一个数的位置与他前一次出现时的位置所构成的区间内假若有一个比它小的数那么就不得不对这个数新进行一次操 ...
- 10分钟快速掌握分布式版本控制系统GIT命令集【形成知识体系篇】
任务要求 要求全部使用git命令实现 1.创建本地仓库,项目名称为hniu_site 2.在仓库下创建多级(目录)文件夹cn/hniu/班级名称(例如软件2108,cn/hniu/rj2108) 3. ...
- 解决方案 | 一个VBA代码里面非常隐蔽的错误:运行时错误“5”:无效的过程调用或参数
1 代码部分 代码功能:实现使用sumatra打开指定pdf指定页码 代码: Sub OpenPDFatPage() Dim PDFFile As String Dim PageNumber As L ...
- 5 pdf页码跳转失效
PC端网页查看pdf时,输入非数字页码回车后,页码跳转功能失效
- Git 奇幻之旅⌛️
第一天: 本地仓库 故事的主角是小明,一个刚入门编程的小白.他正在为一个项目写代码,但是他发现每次修改代码都很麻烦,因为他要不断地备份文件,而且很容易弄混版本.有一天,他听说了一个叫 Git 的神奇工 ...
- Django 自定义创建密码重置确认页面
要实现上述功能,你需要修改模板文件以添加"忘记密码"链接,并创建新的视图函数来处理密码丢失修改页面.验证和密码修改.下面是你可以进行的步骤: 1. 修改模板文件 在登录页面的表单下 ...
- django如何将查询结果的栏位和数值自动遍历出来
在Django中,MT003HModel.objects.all() 返回的是一个 QuerySet 对象,你可以使用迭代器来遍历其中的每个对象,然后访问对象的属性来获取栏位和数值. 以下是一个简单的 ...
- iOS开发基础135-Core Data
Objective-C (OC) 中使用 Core Data 是iOS应用开发中管理模型层对象的一种有效工具.Core Data 使用 ORM (对象关系映射) 技术来抽象化和管理数据.这不仅可以节省 ...