- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Qt Designer 5.4 中,我有一个 QPushButton 并将其快捷方式设置为 Ctrl+Z。我正在使用 pyuic5 将其转换为 Python 代码。这是 Python 代码中的结果行:
self.quickTextUndoButton.setShortcut(_translate("newEntryDialog", "Ctrl+Z"))
当运行应用程序时,按下 Ctrl+Z 不会按预期调用插槽,直到按下 QPushButton(它会调用插槽);此后,按 Ctrl+Z 确实会按预期调用插槽。
使用快捷方式 F1 到 F12 的其他按钮不会发生这种“初始化”行为。
这是否与 Ctrl+Z 的现有解释冲突?如果是这样,是否有一种简单的方法可以避免这种冲突?也许只是适本地设置 ShortcutContext?
最佳答案
单击该按钮将为其提供键盘焦点,更重要的是,它会从具有相同快捷方式集的任何其他小部件上移除焦点。
所有可编辑的输入小部件(例如QLineEdit
、QTextEdit
等)都有硬编码default key bindings用于各种操作,包括 Ctrl+Z(撤消上一个操作)。如果此类小部件具有键盘焦点,则其快捷方式将优先于您为按钮设置的快捷方式(反之亦然)。
当多个小部件具有相同的快捷方式时,您可以设置一个事件过滤器并使用 ShortcutOverride
来消除它们的歧义:
self.lineEdit.installEventFilter(self)
...
def eventFilter(self, source, event):
if (event.type() == QtCore.QEvent.ShortcutOverride and
event.modifiers() == QtCore.Qt.ControlModifier and
event.key() == QtCore.Qt.Key_Z):
# eat the shortcut on the line-edit
return True
return super(Window, self).eventFilter(source, event)
但是,作为用户,我真的讨厌做这种事情的应用程序。当我使用标准输入小部件时,我希望能够使用所有标准键盘绑定(bind)。如果它们没有按预期工作,它看起来就像是一个错误。
关于python - Qt 5.4 Python 中的 Ctrl+Z 快捷键冲突?在按下按钮之前不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862150/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!