问题标签 [qshortcut]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4788 浏览

python - PyQt 使用 ctrl+Enter 触发按钮

我正在尝试为我的应用程序中的 Ok 按钮触发我尝试的当前代码是这样的:

但是,它不起作用,这是有道理的。我尝试在此处查找一些关键序列,但是如果我尝试使用shiftoralt

如何触发 OkButtonctrl+Enter

0 投票
2 回答
2583 浏览

python - 如何使用 PySide2 的箭头键创建快捷方式?

我想使用 Qt5 + Python (Pyside2) 为按钮添加键盘快捷键。使用常规键创建快捷方式的代码:

如果我shortcut = ...用这个替换那行:

什么都没发生。我错过了什么?

我还尝试将 QtCore.Qt.LeftArrow 值转换为字符串(没有任何反应),并尝试直接使用 Qt.LeftArrow 制作 QShortcut(抱怨 nullptr)。使用 QtCore.Qt.Key_Left 作为 QShortcut 的参数也给了我 nullptr。

0 投票
1 回答
315 浏览

python - 找出按下了哪个 QKeySequence

我正在使用 PySide2,我希望拥有多个执行相同功能但也取决于按下哪个键的快捷方式。

我试图在 QMainWindow 中链接这些函数:

这样他们都执行此功能。

希望 print("1") 在按下键“1”时发生,而 print("2") 在按下第二个键时发生。当我尝试运行它并按下键 1 和 2 时,我收到此错误:

我怎样才能做到这一点?

0 投票
1 回答
132 浏览

python - PySide2 | 找出按下了哪个 QKeySequence 2

我之前有一个关于 QKeySequence here的问题。它有效,但是当我将它应用于我的代码时,当按钮单击事件在 QKeySequence 行之前出现时,当 QKeySequence 出现在行之后时似乎出现错误。

注意:GUI 仅包含两个按钮:self.btnDSR 和 self.btnOther。

从上一个问题中 eyllanesc 的答案中,我的代码如下:

仅输入 1 和 2 有效,单击 btnDSR 后输入 3 无效。这意味着数字 3 没有打印出来,但数字 1 和 2 在单击时会打印出来。按 3 时返回此错误消息:

如果相关,我还会在此处附上用于测试 GUI 的基本代码:

0 投票
1 回答
147 浏览

python - 使用 QShortcut 时如何更改按钮的动画?

以前,我习惯于通过(例如:) button.clicked.connect(function)触发按钮和设置。当通过单击鼠标按下按钮时,按钮将改变背景颜色并按预期工作。但是,目前我正在使用触发按钮(例如:),但按钮似乎不受.qsssetStyleSheet()QPushButton:pressed{background:#EAEAEA;}QShortcutQtCore.Qt.Key_Returnqss

我使用的代码:

0 投票
1 回答
228 浏览

python - 全屏模式下的 QVideoWidget 不再响应热键或鼠标滚轮

在 PySide2 中使用 QVideoWidget(尽管 python 部分可能并不重要)。我已经使用 QShortcut 设置了我的热键,一切都很好。当我按“F”进入全屏模式时,它也可以工作,但是我不能离开。我的热键或鼠标事件处理程序都不起作用。我最终陷入全屏模式。

有没有办法让它在全屏模式下也能响应?我是否以错误的方式创建热键?

这个例子演示了这个问题:

0 投票
1 回答
190 浏览

python - 在 QPlainTextEdit 元素中使用 Shift+Return 的 QShortcut 和 QKeySequence

我有一个元素,editorBox它是 PyQt5 元素类型QPlainTextEdit。我的目标是在Shift + Return按下热键时调用一个函数,我使用这个函数的目标是它还将文本插入到 editorBox 元素中(这不是我强调的部分,它很容易做到.insertPlainText()方法)。

我已经完成了搜索,我能找到的最接近的结果是像这样使用QShortcut&QKeySequence配对:

为了澄清起见,我尝试在QKeySequence构造函数中使用其他字符,例如Ctrl+b,并且我已经成功了。奇怪的是,只有组合Shift+Return对我不起作用。

我已经分析了与我的错误有关的问题。我看过的一些帖子:

0 投票
2 回答
62 浏览

c++ - 无法将信号绑定到我的 Qt 应用程序中的插槽

我是 Qt 新手,我有一个非常简单的演示应用程序。它只包含一个QLineEdit小部件,我想在test()按下.ctrl+pQLineEdit

下面是相关文件。

主窗口.cpp

主窗口.h

当我编译应用程序时,我在调试面板中看到以下消息并且应用程序没有响应ctrl+p.

它有什么问题?

0 投票
1 回答
31 浏览

python - PyQt5 在单独的模块中为 QShortcut 定义插槽

Main 与由单独模块定义的 GUI 交互。Main 中使用了两种替代方法来定义 QShortcut 的插槽。lambda 方法有效(但看起来很麻烦)。只有先执行 lambda 方法,直接方法才有效。如果带有 lambda 方法的行被注释掉,那么直接方法将失败(没有错误消息)。为什么单独使用直接方法会失败?

''' # p.py

''' 这是一个单独模块中的 GUI

''' #q.py

'''

0 投票
0 回答
145 浏览

qt - 有没有办法在按钮释放时触发 QShortcut?

我目前有这个,它按预期运行,在键盘按钮按下时运行。

我想要的是让它在键盘按钮释放时运行。

原因是,我想在按下按钮时运行一个脚本,然后在释放同一个按钮时运行一个单独的脚本。

我尝试了一些不同的东西,keyReleaseEvent()eventFilter(),但我认为通过使用QShortcut这些事件会被抑制。