PySide6/PyQt开发经验总结(2) - 设置快捷键
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)
PySide6/PyQt开发经验总结(2) - 设置快捷键的更多相关文章
- 第15.45节、PyQt输入部件:QKeySequenceEdit快捷键输入部件简介和使用案例
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.功能简介 Key Sequence Edit输 ...
- 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/ ...
- 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项目都注重快捷键的使用,日本人操作的时候都喜欢用键盘而不是用鼠标去点,用他们的话来说"键盘永远比鼠标来的快",所 ...
- win7系统自带截图工具快捷键是什么?怎么设置快捷键
win7自带的截图工具很好,很强大,比从网上下载的截图工具好用多了,很少会出现问题.但是它能不能像QQ截图工具一样可以使用快捷键呢?今天小编和大家分享下心得,希望能够给你的工作带来快捷. 工具/原料 ...
- eclipse设置快捷键sysout+Alt+/后出System.out.println!亲測可用!
曾经一直用myeclipse,没有这方面的顾虑,如今换到了eclipse,非常多要自己设置了,比方非常多快捷键. 最经常使用的,执行到sysout ,eclipse总是不自己主动补全,非常是恼火!!! ...
随机推荐
- LSTM实现文本情感分类demo
import torch import torch.optim as optim import torch.nn as nn import numpy as np import torch.nn.fu ...
- 洛谷P3009
#include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...
- 3. set 的使用
3. set 的使用 因为在实际工程中,我们不会将具体文件全部写出来,这是一件费力不讨好的事情. 3.1 set 定义变量 在 CMake 文件中,默认的变量数据类型是字符串,如果要用别的类型,需要进 ...
- .NET周刊【7月第2期 2024-07-14】
国内文章 开源GTKSystem.Windows.Forms框架让C# winform支持跨平台运行 https://www.cnblogs.com/easywebfactory/p/18289178 ...
- 服务之间的调用之RPC深入理解
一:RPC RPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法).通常的实现有 XML-RPC , J ...
- [oeasy]python0035_ 整合shell编程_循环_延迟_清屏
整合shell编程 回忆上次内容 用\r 可以让输出位置回到行首 原位刷新时间 如果想要的是大字符效果 需要使用 figlet 但同时还希望能刷新 编辑 这可能吗? 建立脚本 我们得熟悉一下s ...
- ceph 001 存储类型 传统存储与分布式存储 分布式文件系统 集群与分布式
ceph 存储类型 块存储:裸磁盘 未被格式化的磁盘 DAS(直连存储,usb,硬盘插到电脑):scsi接口 接口数量有限 传输距离有限 SAN(存储区域网络):ip-san 网络(iscsi) 以太 ...
- 【Redis】03 Redis 数据类型、相关补充、常用命令
redis的数据类型 1,概述 使用Redis进行应用设计和开发的一个核心概念是数据类型. 与关系数据库不同,在Redis中不存在需要我们担心的表, 在使用Redis进行应用设计和开发时,我们首先应该 ...
- 使用 Alba 对 AspnetCore项目进行测试
前言 在AspnetCore生态系统中,我们测试项目一般使用Microsoft.AspNetCore.TestHost的TestServer 到.NET6后提供的Microsoft.AspNetCor ...
- OneFlow是否真的实现了单机代码无侵害的运行在分布式集群上?
答案: 不是,但也是. 严格意义上来说,不是. 因为技术OneFlow的代码,要从单机改到分布式,也需要改配置,需要给所有的变量设置具体的全局存储还是局部存储,如果局部存储又应该如何划分,等等,这些其 ...