首页 > 解决方案 > 如何在 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()

标签: pythonpyqt5

解决方案


推荐阅读