python - 如何在 PyQt5 中获取快捷键?
问题描述
在我的 PyQt5 菜单栏程序中,我无法使用快捷键。例如,如果我按Alt+X,它将退出,但同时如果我按 Cntrl+X 则不会发生任何操作。如何激活两个快捷键,即 Alt+X 和 Cntrl +X。
import sys,os
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Class_MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Assist")
self.initUI()
def initUI(self):
mymenu = self.menuBar()
mymenu.setStyleSheet("font-family: Trebuchet MS;font-style: normal;font-size: 10pt;font-weight: bold;")
mymenucompany = mymenu.addMenu("&Company")
mymenucompany_new = QAction("New",self)
mymenucompany_new.setShortcut("Ctrl+Alt+N")
mymenucompany.addAction(mymenucompany_new)
mymenucompany_open = QAction("Ope&n",self)
mymenucompany_open.setShortcut("Alt+N")
mymenucompany.addAction(mymenucompany_open)
mymenucompany_close = QAction("Close", self)
mymenucompany_close.setShortcut("Ctrl+N")
mymenucompany.addAction(mymenucompany_close)
mymenucompany.addSeparator()
mymenucompany_exit = QAction("E$xit", self)
mymenucompany_exit.setShortcut(QKeySequence("Ctrl+X"))
mymenucompany.addAction(mymenucompany_exit)
mymenucompany_exit.triggered.connect(qApp.quit)
mymenuaccount = mymenu.addMenu("&Accounts")
mymenuinventory = mymenu.addMenu("&Inventory")
mymenumanufacture = mymenu.addMenu("&Manufacture")
mymenupayroll = mymenu.addMenu("&Pay Roll")
mymenureports = mymenu.addMenu("&Reports")
mymenuotherss = mymenu.addMenu("&Others")
def main():
app = QApplication(sys.argv)
mainwindow = Class_MainWindow()
mainwindow.showMaximized()
sys.exit(app.exec_())
if __name__ =="__main__":
main()
解决方案
推荐阅读
- python - 以编程方式获取单元测试的结果
- google-apps-script - 驱动器选择器小部件在以开发人员身份运行模式下不起作用
- reactjs - 我应该在组件生命周期中何时从 URL 获取查询参数?
- windows - 运行 7zip 设置后,用于静默安装 7zip 的批处理脚本不会继续
- javascript - 未通过php电子邮件接收联系信息
- fortran - 尝试在工作目录之外创建文件时“没有这样的文件或目录”
- kotlin - kotlin coroutines - use main thread in run blocking
- javascript - 动态创建的文本字段的访问值
- android - Facebook android 应用丢弃通过 Intent 传递的#hashtag。但它适用于iOS
- android - Flutter - 如何仅在列表视图中显示所选项目