在PyQ中为2个对象创建一个keybord快捷方式

2024-05-16 12:01:57 发布

您现在位置:Python中文网/ 问答频道 /正文

如何为2个对象创建“Ctrl+C”绑定:self.table表格, 自我编辑在

我有:

shortcut = QtGui.QShortcut(QtGui.QKeySequence("Ctrl+C"), self.table, None, self.copyTable)
shortcut2 = QtGui.QShortcut(QtGui.QKeySequence("Ctrl+C"), self.editor, None, self.copyText)

这行得通,但太令人兴奋了。如果我专注于自我编辑我第一次按下“Ctrl+C”键自复制表,第二次是self.copyText. 在

我做错什么了?:P

我确实找到了一个解决方法,我创建了一个QAction来检查哪个对象有焦点并触发想要的操作。但我更希望每个物体都有。在

编辑(工作示例):

^{pr2}$

Tags: 对象selfnone编辑tableeditorshortcut表格
2条回答

您必须为快捷方式设置正确的上下文:默认情况下,它们是窗口-“全局”,您可能希望它们是widget-“local”。见setShortcutContext。在

我已经在这里做过了,而且效果很好。非常简单的想法。

just make one shortcut and one slot.

QtGui.QShortcut(QtGui.QKeySequence("Ctrl+C"), self, None, self.copyFunction)

在copyFunction内部检查焦点,如下所示:

^{pr2}$

相关问题 更多 >