问题标签 [qevent]
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.
c++ - 过滤最小化事件
我有一个QMdiSubWindow
并且我需要过滤最小化事件,以便我可以简单地hide()
打开窗口。
我尝试了以下方法:
这会过滤所有窗口状态更改,例如最大化。我只需要最小化事件。
event->ignore()
不忽略任何东西。我也尝试过event->setAccepted(false)
,但在取消事件方面也没有成功。
qdialog - 将鼠标事件刷新到禁用的小部件
我有一个带有几个按钮的对话框。当我禁用对话框并单击子按钮时,什么也没有发生。但是一旦我再次启用对话框,按钮的鼠标事件就会被处理。
禁用对话框是否只是延迟处理其子小部件的任何鼠标事件,直到再次启用?
我尝试在禁用对话框时为子小部件安装事件过滤器,然后在再次启用时删除事件过滤器。但它提供了相同的行为。一旦启用对话框,即删除子小部件的事件过滤器,就会处理鼠标事件(禁用时)。
有人可以帮忙这里有什么问题吗?
c++ - 为什么按下“Tab”键只会发出 QEvent::ShortcutOverride 事件?
背景
我制作了一个自定义小部件,其中有QLineEdit
几个QPushButtons
可以与自定义项目委托一起使用:
我将用这样的方式绑定QListView
它们QStandardItemModel
:
问题
为什么在按下键PropertyDelegate::eventFilter
时Tab
只有QEvent::ShortcutOverride
事件,但按下任何其他键都会发出QEvent::ShortcutOverride
和QEvent::KeyPress
事件?
UPD:我想通过按标准小部件Tab
来实现行之间的移动。Backtab
qt - 事件(QEvent*)与 mousePressEvent(QMouseEvent *)冲突?
在QT中:我使用从QToolButton继承的类并重写事件(QEvent *),现在我想添加'mousePressEvent',但它永远不会被击中,事件(QEvent *)是否与mousePressEvent(QMouseEvent *)冲突?谢谢你。
课程是:
qt - Qt如何知道小部件,用户上次在哪些元素中设置了焦点
Qt。我有一个表格。上面有 2 个小部件,包含其他小部件、按钮、行编辑等。我需要:当用户设置焦点、通过鼠标单击或对它包含的第一个小部件或元素执行某些操作时 - 我需要将变量设置为 0 . 如果他对第二个小部件做同样的事情 - 变量必须设置在 1. 怎么做?
c++ - 如何检测我的应用程序在 Qt 中失去焦点?
当鼠标光标位于某个小部件上时,我会显示一个弹出窗口,并且我想在鼠标离开小部件时隐藏此弹出窗口。
为此,我重新实现了leaveEvent()
. 这似乎在所有情况下都有效,除非通过Alt+Tab
. 我发现我可能需要捕捉另一个事件,但不知何故我找不到合适的。你能推荐一个吗?
qt - 是否需要在子类中调用基类的事件处理函数?
假设我QWidget::keyPressEvent(QKeyEvent *e)
在我的子类中重新实现了。
是否有必要在它的末尾调用基类的实现?
例子:
如果是这样,这样做有什么意义?
qt - QObject 自动删除
当我不希望它被删除时,我遇到了一些问题。
我有这个类(注意我没有声明Q_OBJECT)
我在一个包含 QTreeWidget 的类中创建和使用这个对象。这个类时不时地“发送”它的一个 MyEntries 到另一个类,该类使用来自它正在发送的 MyEntry 的信息来设置它持有的一些 QLabels 上的文本。我使用以下 QEvent:
我像这样发送和接收这个事件(接收者是 parent() 并且 lp_currentEntry 是一个 MyEntry 对象):
我遇到的问题是,一旦事件交付,MyEvent 就会被删除。但是它包含的 MyEntry 的析构函数也被调用。我从来没有使用 MyEvent 作为父级创建 MyEntry 那么为什么它被删除了?
我正在使用这个设置,因为 postEvent 通常是由一个不是 ui 的线程完成的,我很确定非 ui 线程不应该更新 QLabels 等,否则我可以简单地完成(MyOtherClass*)parent()->updateLabels(lp_currentEntry);
- 但如果我是,请纠正我错误的。
编辑:这是一个回溯:
qtextedit - 在 QTextEdit 中,无法响应鼠标点击事件
我想使用 mouseDoubleClickEvent,但它不起作用这是我的代码:
textEdit->setMouseTracking(true);
谁能帮我 ?谢谢对不起,我的英语太烂了
qt - QEventfilter 类的全局事件捕获
我想为我的 Qt 应用程序添加一个帮助网页。用户可以使用 Qt::WhatsThis “工具提示”来获得关于主题的解释和网页的 URL。我用 Qt Designer 编辑 WhatsthisTooltips 并让它语言独立。
现在我创建了一个用于过滤的“LinkFilter”类,将它安装在视图类中并对 QEvent::WhatsThisClicked 事件做出反应。这工作正常。
现在我会在我的应用程序中捕获每个 QEvent::WhatsThisClicked,但是在每个对话框/视图/动作/小部件上安装它看起来真的很乱。这有某种全局事件处理程序,我可以安装我的“LinkEvent”类吗?必须有一个很好的 Qt 风格的方法来解决这个问题。
为了安装 EventFilter,我强烈关注这个视频教程http://youtu.be/DHgbYxpZkbg