已解决:PyQt5 按键盘敲击按钮

问题描述

我正在开发 PyQt5 gui。 我尝试实现一个按钮,当我按下键盘上的某个键时会按下该按钮。让我们说'K'。 我试过这个,但它不起作用。有什么想法吗?

from PyQt5.QtWidgets import QDialog,QApplication,QPushButton,QVBoxLayout,QTabWidget,QFileDialog,QShortcut
from PyQt5.QtGui import QIcon,Qpixmap,QKeySequence
from PyQt5 import QtCore,QtGui,QtWidgets,uic

Ui_TabWidget,QtBaseClass = uic.loadUiType(qtcreator_file)

class TabWidget(QTabWidget,Ui_TabWidget):
    def __init__(self):
        QtWidgets.QTabWidget.__init__(self)
        Ui_TabWidget.__init__(self)
        self.setupUi(self)
        self.pushButtonGood.clicked.connect(lambda : self.writeOutliers(False))
        self.pushButtonOutliers.clicked.connect(lambda : self.writeOutliers(True))

        self.shortcut_open = QShortcut(QKeySequence('K'),self)
        self.shortcut_open.activated.connect(lambda : self.writeOutliers(True))

#######EDIT######## 由于评论问题解决了。请参阅下面的解决方案。

解决方法

sudo dpkg -i mongodb-compass_1.26.1_amd64.deb

from PyQt5.QtGui import QIcon,QPixmap,QKeySequence from PyQt5 import QtCore,QtGui,QtWidgets,uic Ui_TabWidget,QtBaseClass = uic.loadUiType(qtcreator_file) class TabWidget(QTabWidget,Ui_TabWidget): def __init__(self): QtWidgets.QTabWidget.__init__(self) Ui_TabWidget.__init__(self) self.setupUi(self) self.pushButtonGood.clicked.connect(lambda : self.writeOutliers(False)) self.pushButtonOutliers.clicked.connect(lambda : self.writeOutliers(True)) self.pushButtonGood.clicked.connect(self.setFocus) 在第一次点击 self.setFocus 时获得编辑文本的其他地方的键盘焦点。

然后使用“Editeur de Propriétés”定义 QTdesigner 中按钮的快捷键。

做一个复合快捷键'ctrl+K'

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...