【发布时间】:2023-03-19 15:45:01
【问题描述】:
我有一个在 Qt Designer 中设计的表单(使用 PyQt5)。我在那里使用行编辑来输入一些输入。我想要的是在行编辑中添加使用键盘组合(如 Ctrl+B 或功能键之一)的能力。一旦按下该组合键或功能键,我将运行一个函数/方法,它将以“特殊”方式粘贴剪贴板内容(这意味着它将过滤和调整剪贴板中的值)。
这似乎很容易,而且以前肯定有很多人做过这种事情。但我无法找到一种单一的、简单的、可理解的方式来做我想做的事。这是我正在寻找的解决方案。下面是一个包含 MainForm 代码的类:
self.ui.my_lineedit.keyboard_key_pressed.connect(self.my_func, ctrl+b)
def my_func(self):
pass
我编造了keyboard_key_pressed 部分(和其他部分),以便您了解我的目标。有没有像上面的例子那样做我想做的简单的方法?
【问题讨论】:
-
我发现这个链接有点帮助.. 但它与 lineedit 无关,它只显示了如何在主窗体本身上执行按键事件。它也没有提供关于连击等的信息:stackoverflow.com/questions/45308101/…
-
这个链接帮助我完成了组合。唯一剩下的就是如何从 lineedit 焦点而不是整个主窗口完成所有这些操作。 stackoverflow.com/questions/28204043/…
标签: python keyboard-shortcuts pyqt5 qt-designer qlineedit