Qt设置快捷键

本文仅供本人知识总结使用,所以内容会比较浅显,不喜勿喷。


一、需要的类

QShortcut

函数:

  • autoRepeat()

    • 返回当前快捷键响应是否可以重复响应,默认Ture,返回值类型为bool
  • context()
    • 返回当前快捷响应的上下文,默认WindowShortcut,返回值类型ShortcutContext
  • id()
    • 返回当前快捷键响应的ID,返回值类型为int
  • 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需要点击按钮才能打开

  1. 没点击按钮,self.Widget_child没打开时,按下"Ctrl+F"事件def没反应。
  2. 点击按钮,self.Widget_child打开时,按下"Ctrl+F"事件def才有反应。
self.ShortCtrl_F = QShortcut(QKeySequence("Ctrl+F"),self.Widget_child)
self.ShortCtrl_F.activated.connect(def)

PySide6/PyQt开发经验总结(2) - 设置快捷键的更多相关文章

  1. 第15.45节、PyQt输入部件:QKeySequenceEdit快捷键输入部件简介和使用案例

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.功能简介 Key Sequence Edit输 ...

  2. js简单的设置快捷键,hotkeys捕获键盘键和组合键的输入

    设置快捷键 这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb). hotkeys on Githubhotkeys预览 创建 您将需要在您的系 ...

  3. Winform button按钮设置快捷键

    1)Text属性命名时后面&加键名,如:文件(&F) 2)添加一个ContextMenuStrip控件,同时在Items里添加一个项,并为项设置快捷键,把Visible设置为false ...

  4. 为控件Button设置快捷键(组合键)

    控件MenuStrip和ContextMenuStrip可通过ShortCcutKeys属性设置快捷键,而控件Button没有ShortcutKey属性,如何为控件Button设置快捷键呢(组合件键) ...

  5. xcode 设置快捷键 整行上下移动

    设置整行代码上下移动:找到Xcode中的自带的配置文件:/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/ ...

  6. Sublime Text设置快捷键让html文件在浏览器打开

    一.安装View In Browser插件 快捷键 Ctrl+Shift+P(菜单栏Tools->Command Paletter),输入 pcip选中Install Package并回车,输入 ...

  7. 【原创】Eclipse中为SVN设置快捷键

            SVN是深受开发者喜爱的版本控制工具,其较CVS有更好的控制策略.在Android开发中,我也选择SVN作为版本控制工具.Eclipse的SVN插件名叫Subclipse,可以到htt ...

  8. Web开发中设置快捷键来增强用户体验

    从事对日外包一年多以来,发现日本的无论是WinForm项目还是Web项目都注重快捷键的使用,日本人操作的时候都喜欢用键盘而不是用鼠标去点,用他们的话来说"键盘永远比鼠标来的快",所 ...

  9. win7系统自带截图工具快捷键是什么?怎么设置快捷键

    win7自带的截图工具很好,很强大,比从网上下载的截图工具好用多了,很少会出现问题.但是它能不能像QQ截图工具一样可以使用快捷键呢?今天小编和大家分享下心得,希望能够给你的工作带来快捷. 工具/原料 ...

  10. eclipse设置快捷键sysout+Alt+/后出System.out.println!亲測可用!

    曾经一直用myeclipse,没有这方面的顾虑,如今换到了eclipse,非常多要自己设置了,比方非常多快捷键. 最经常使用的,执行到sysout ,eclipse总是不自己主动补全,非常是恼火!!! ...

随机推荐

  1. Linux进程退出:SIGINT、SIGTERM 和 SIGKILL 有关信号 区别

    背景 学习 海思SDK,查看例程的时候发现了类似下面的代码: int main(int argc, char *argv[]) { if(argc != 2) { printf("Usage ...

  2. ETL服务器连接GaussDB(DWS)集群客户端配置

    问题描述:给ETL的服务器上安装gsql的工具,用来连接GaussDB(DWS)集群,做数据抽取用 DWS:GaussDB(DWS) 8.2.1-ESL 1.获取软件包 登录FusionInsight ...

  3. python爬虫-request模块

    1. requests 中的请求方法 HTTP 请求方法: requests.get(url, params=None, **kwargs) # GET 请求 requests.post(url, d ...

  4. 【论文阅读】Learning to drive from a world on rails

    引用与参考 代码地址:https://github.com/dotchen/WorldOnRails 论文地址:https://arxiv.org/abs/2105.00636 论文部分 已看完 写在 ...

  5. C++ Constructor And Destructor

    if you have problems with constructors and destructors, you can insert such print statements in cons ...

  6. vscode配置项

    因为vscode的默认配置,导致现在用的不是很舒服.总结了以下配置能让你的vscode用着更舒服. 1: 问题: 输入log按tab快速生成代码后,提示居然没了? 解决方案: "editor ...

  7. Vue 基于vue-codemirror实现的代码编辑器

    基于vue-codemirror实现的代码编辑器 开发环境 jshint 2.11.1 jsonlint 1.6.3 script-loader 0.7.2 vue 2.6.11 vue-codemi ...

  8. 面试题-python 什么是装饰器(decorator )?

    前言 python装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象.很多python初学者学到面向对象类和方法是一道大坎,那么py ...

  9. 记一次NACOS开放公网访问导致服务器被挖矿的解决流程 [kdcflush] acosd

    前言 事情的起因是这样的,昨天领导找到我说服务器内存满了,影响其他程序正常运行了,让我把测试服务器上之前启动的六个JAVA程序停一下,接着我就登上服务器执行docker compose down把服务 ...

  10. docker 构建镜像拉取镜像生成实例

    实战tomcat镜像 准备镜像文件 编写dockerfile 首先将tomcat和jdk软件包上传 创建tomcat文件夹,将文件传送到tomcat文件夹 创建Dockerfile(不用加-f指定)文 ...