Qt设置快捷键

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


一、需要的类

QShortcut

函数:

  • autoRepeat()

    • 返回当前快捷键响应是否可以重复响应,默认Ture,返回值类型为bool
  • context()
    • 返回当前快捷响应的上下文,默认WindowShortcut,返回值类型ShortcutContext
  • id()
    • 返回当前快捷键响应的ID,返回值类型为int
  • isEnabled()
    • 返回当前快捷键响应是否启用,默认Ture,返回值类型为bool
  • key()
    • 返回当前快捷键响应的快捷键,默认None,返回值类型为QKeySequence
  • parentwidget()
    • 返回当前快捷键响应的父窗口,返回值类型为QWidget

信号

  • activated()

    • 快捷键被激活。

... ..

剩下的不一一列举了,贴上官方文档的链接,感兴趣的自己去看吧。


二、设置快捷键

官方文档原文翻译:

当用户为给定快捷方式键入键序列时,会发出快捷方式的activated()信号。(在出现歧义的情况下,会发出activatedAmbiguously()信号。)当快捷方式的父窗口小部件接收事件时,Qt的事件循环会“侦听”快捷方式。

  1. # 创建快捷键
  2. self.ShortCtrl_F = QShortcut(QKeySequence("Ctrl+F"),self)
  3. # 给快捷键设置信号事件
  4. 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才有反应。
  1. self.ShortCtrl_F = QShortcut(QKeySequence("Ctrl+F"),self.Widget_child)
  2. 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. HTTP协议 学习:2-基于libcurl的开发

    HTTP协议 学习:2-基于libcurl的开发 背景 上一讲我们介绍了HTTP报文的一些内容,这一讲我们基于http有关的开源库,进行HTTP通信.最后再完成一个简单的下载小程序. ref : ht ...

  2. VSCode 中 Markdown Preview Enhanced 插件利用 Chrome (Puppeteer) 导出 PDF 文件使用说明与问题解决

    准备 预先安装好 Chrome 浏览器. 使用方法 右键选择 Chrome (Puppeteer). 设置 Puppeteer 通过 front-matter 即在 markdown 文档开头加上 y ...

  3. B 站和小红书又又又崩了,罪魁祸首竟然又是他。。。

    大家好,我是凌晨. 今天上午10点左右,我打开B站发现无法刷新视频列表和评论区,收藏夹和弹幕也均不可用. 原以为是手机网络问题,换网络重启手机都还是不行,第一时间打开微博,果然,B站崩了的新闻荣登榜首 ...

  4. React Lazy 和 Suspense

    在React应用中,有些组件可能不经常用到,比如法律条款的弹窗,我们几乎不看,这些组件也就没有必要首次加载,可以在点击它们的时候再加载,这就需要动态引入组件,需要组件的时候,才引入组件,加载它们,进行 ...

  5. java 类的执行顺序

    java代码 package net.cybclass.sp; public class Test01 { public static void main(String[] args) { new c ...

  6. PixiJS源码分析系列: 第一章 从最简单的例子入手

    从最简单的例子入手分析 PixiJS 源码 我一般是以使用角度作为切入点查看分析源码,例子中用到什么类,什么方法,再入源码. 高屋建瓴的角度咱也做不到啊,毕竟水平有限 pixijs 的源码之前折腾了半 ...

  7. 开源免费又好用的中式数据报表:UReport2是一款高性能的架构在Spring之上纯Java报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。

    北润乾.南帆软,数加发力在云端. uReport 身何安?中式报表真开源. 报表江湖之中,uReport安身立命的产品品类定位是什么? 说来很简单,uReport的价值在于填补了这样一个市场空白:开源 ...

  8. Display、Visibility 和 Opacity 的区别

    <style> .d1{ display: none; } .d2{ visibility: visible; } .d3{ opacity: 0; } </style> &l ...

  9. NOIP2022退役记

    我是青岛西海岸新区的一名oier,qxyz(xhayz)的. (其实也不知道算不算得上真正的oier) 已经高二了,是最后一次noip了,必须写点什么记录一下了吧,这样至少可以向世界留下一点痕迹:这个 ...

  10. Scratch源码下载 | 3D钻石

    程序说明: <3D钻石>是一个利用Scratch平台创作的独特艺术作品.此程序在屏幕上呈现一个精致的3D钻石模型,允许用户通过鼠标操作来旋转和查看钻石的不同角度.该程序还提供了修改钻石参数 ...