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项目都注重快捷键的使用,日本人操作的时候都喜欢用键盘而不是用鼠标去点,用他们的话来说"键盘永远比鼠标来的快",所 ...
随机推荐
- Prometheus监控系统(三)Prometheus与Grafana集成
1. Prometheus和Grafana集成 Grafana是一款采用Go语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具.目前已支持绝大部分常 ...
- hbase第一课:hbase-2.2.7分布式搭建
hbase-2.2.7分布式搭建文档 1.上传解压配置环境变量 # 1.解压 tar -xvf hbase-2.2.7-bin.tar.gz.gz # 2.配置环境变量 vim /etc/profil ...
- 在Linux驱动中使用LED子系统
在Linux驱动中使用LED子系统 原文:https://blog.csdn.net/hanp_linux/article/details/79037684 前提配置device driver下面的L ...
- 学习嵌入式为什么要学习uboot
ref:http://www.elecfans.com/d/617674.html 为什么要有BootLoader 背景 很多人学习嵌入式一开始就搞Linux,这样子容易对底层缺少了解. 基础介绍 计 ...
- ubuntu 编译安装ffmpeg
[前言] 使用apt-get install直接安装的ffmpeg无法提供相应的头文件, 在编译一些使用ffmpeg接口的程序时会提示找不到某某头文件, 于是准备自己编译安装一下ffmpeg. 安装分 ...
- ScreenToGif:一款开源免费且好用的录屏转Gif软件
ScreenToGif介绍 GitHub上的介绍:此工具允许您记录屏幕的选定区域.来自网络摄像头的实时提要或来自草图板的实时绘图.之后,您可以编辑动画并将其保存为 gif.apng.视频.psd 或 ...
- [oeasy]python0011 - python虚拟机的本质_cpu架构_二进制字节码_汇编语言
程序本质 回忆上次内容 我们把python源文件 词法分析 得到 词流(token stream) 语法分析 得到 抽象语法树(Abstract Syntax Tree) 编译 得到 字节码 (b ...
- Arch Linux install i3-wm
Arch Linux install i3-wm 简介 i3-wm 是一种动态的平铺式窗口管理器,它的设计目标是提供一个快速.简洁.可定制的桌面环境,适合开发者和高级用户使用.它有以下几个特点: 它使 ...
- 关于failed to load resource 问题的处理
问题: c++做插件,写了一个native class,继承于ue的类ActorComponent,而蓝图里也继承了这个c++ class,都在插件里,每次打开的时候就有这个错误: 之前的解决办法,复 ...
- ffmpeg一些笔记: 代码调试数据
1.AAC,MP3他的解码数据格式不支持,程序中给的是这个AV_SAMPLE_FMT_FLTP, Screen-Cpature-Recoder的codec-id为AV_CODEC_RAW_VIDEO ...