问题描述
我正在开发 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'