首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QAction keyBindings

QAction keyBindings
EN

Stack Overflow用户
提问于 2016-04-27 14:45:13
回答 1查看 961关注 0票数 1

在Windows上,有几个用于标准操作的键绑定。例如,要复制,可以使用Ctrl+CCtrl+Insert

如何用Qt处理这个问题?我就是这样做的:

  1. 我得到了带有()的键绑定的列表。
  2. 我创建了2 actions,一个用于Ctrl+C,另一个用于

好像很管用。

问题:这是处理Qt键绑定的正确方法吗?

完整源代码:

代码语言:javascript
复制
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_())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-27 15:34:20

您只需要一个操作和一个对QAction::setShortcuts()的调用。

代码语言:javascript
复制
action = QAction("Copy", self)
action.setShortcuts(QKeySequence.keyBindings(QKeySequence.Copy))
action.triggered.connect(self._copy)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36893244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档