Два ярлыка для одной кнопки в PyQt - PullRequest
0 голосов
/ 26 декабря 2018

В PyQt, как бы вы связали два ярлыка для одной кнопки?Я просмотрел документацию по QT и StackOverflow, но единственное, что я нашел, было Два ярлыка для одного действия , но это было для QT, и я не мог обернуться вокруг этого.

1 Ответ

0 голосов
/ 26 декабря 2018

Единственное отличие состоит в том, что вместо QList следует использовать list:

from PyQt5 import QtCore, QtGui, QtWidgets

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        menubar = self.menuBar()
        menu = menubar.addMenu("File")
        foo_action = menu.addAction("foo")
        foo_action.setShortcuts(["Ctrl+1", "Ctrl+S"])
        foo_action.triggered.connect(self.on_triggered)

    @QtCore.pyqtSlot()
    def on_triggered(self):
        print("on_triggered")

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

. В случае QWidgets у них нет метода setShortcuts(), поэтомуодним из вариантов является использование QShortcut s:

for sequence in ("Enter", "Return",):
    shorcut = QtWidgets.QShortcut(sequence, self.pushButton_eq)
    shorcut.activated.connect(self.pushButton_eq.animateClick)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...