在Windows上,标准操作有几个键绑定。例如,要复制,可以使用 Ctrl + C 或 Ctrl + Insert 。
如何用Qt处理?这就是我所做的:
似乎有效。
问题:这是用Qt处理键绑定的正确方法吗?
完整源代码:
from sys import argv, exit
from PyQt4.QtGui import QApplication, QWidget, QAction, QKeySequence
class Widget(QWidget):
def __init__(self):
QWidget.__init__(self)
for key in QKeySequence.keyBindings(QKeySequence.Copy):
action = QAction("Copy", self)
action.triggered.connect(self._copy)
action.setShortcut(key)
self.addAction(action)
def _copy(self):
print("Copy!")
print("On Windows, use Ctrl+C or Ctrl+Insert to copy.")
app = QApplication(argv)
w = Widget()
w.show()
exit(app.exec_())
答案 0 :(得分:3)
您只需要一个操作并拨打QAction::setShortcuts()
。
action = QAction("Copy", self)
action.setShortcuts(QKeySequence.keyBindings(QKeySequence.Copy))
action.triggered.connect(self._copy)