问题标签 [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.

0 投票
1 回答
1848 浏览

c++ - 过滤最小化事件

我有一个QMdiSubWindow并且我需要过滤最小化事件,以便我可以简单地hide()打开窗口。

我尝试了以下方法:

这会过滤所有窗口状态更改,例如最大化。我只需要最小化事件。

event->ignore()不忽略任何东西。我也尝试过event->setAccepted(false),但在取消事件方面也没有成功。

0 投票
0 回答
538 浏览

qdialog - 将鼠标事件刷新到禁用的小部件

我有一个带有几个按钮的对话框。当我禁用对话框并单击子按钮时,什么也没有发生。但是一旦我再次启用对话框,按钮的鼠标事件就会被处理。

禁用对话框是否只是延迟处理其子小部件的任何鼠标事件,直到再次启用?

我尝试在禁用对话框时为子小部件安装事件过滤器,然后在再次启用时删除事件过滤器。但它提供了相同的行为。一旦启用对话框,即删除子小部件的事件过滤器,就会处理鼠标事件(禁用时)。

有人可以帮忙这里有什么问题吗?

0 投票
1 回答
4661 浏览

c++ - 为什么按下“Tab”键只会发出 QEvent::ShortcutOverride 事件?

背景

我制作了一个自定义小部件,其中有QLineEdit几个QPushButtons可以与自定义项目委托一起使用:

我将用这样的方式绑定QListView它们QStandardItemModel

问题

为什么在按下键PropertyDelegate::eventFilterTab只有QEvent::ShortcutOverride事件,但按下任何其他键都会发出QEvent::ShortcutOverrideQEvent::KeyPress事件?

UPD:我想通过按标准小部件Tab来实现行之间的移动。Backtab

0 投票
1 回答
1303 浏览

qt - 事件(QEvent*)与 mousePressEvent(QMouseEvent *)冲突?

在QT中:我使用从QToolButton继承的类并重写事件(QEvent *),现在我想添加'mousePressEvent',但它永远不会被击中,事件(QEvent *)是否与mousePressEvent(QMouseEvent *)冲突?谢谢你。

课程是:

0 投票
2 回答
3973 浏览

qt - Qt如何知道小部件,用户上次在哪些元素中设置了焦点

Qt。我有一个表格。上面有 2 个小部件,包含其他小部件、按钮、行编辑等。我需要:当用户设置焦点、通过鼠标单击或对它包含的第一个小部件或元素执行某些操作时 - 我需要将变量设置为 0 . 如果他对第二个小部件做同样的事情 - 变量必须设置在 1. 怎么做?

0 投票
1 回答
7763 浏览

c++ - 如何检测我的应用程序在 Qt 中失去焦点?

当鼠标光标位于某个小部件上时,我会显示一个弹出窗口,并且我想在鼠标离开小部件时隐藏此弹出窗口。

为此,我重新实现了leaveEvent(). 这似乎在所有情况下都有效,除非通过Alt+Tab. 我发现我可能需要捕捉另一个事件,但不知何故我找不到合适的。你能推荐一个吗?

0 投票
1 回答
1102 浏览

qt - 是否需要在子类中调用基类的事件处理函数?

假设我QWidget::keyPressEvent(QKeyEvent *e)在我的子类中重新实现了。

是否有必要在它的末尾调用基类的实现?

例子:

如果是这样,这样做有什么意义?

0 投票
0 回答
621 浏览

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);- 但如果我是,请纠正我错误的。

编辑:这是一个回溯:

0 投票
0 回答
374 浏览

qtextedit - 在 QTextEdit 中,无法响应鼠标点击事件

我想使用 mouseDoubleClickEvent,但它不起作用这是我的代码: textEdit->setMouseTracking(true);

谁能帮我 ?谢谢对不起,我的英语太烂了

0 投票
1 回答
1497 浏览

qt - QEventfilter 类的全局事件捕获

我想为我的 Qt 应用程序添加一个帮助网页。用户可以使用 Qt::WhatsThis “工具提示”来获得关于主题的解释和网页的 URL。我用 Qt Designer 编辑 WhatsthisTooltips 并让它语言独立。

现在我创建了一个用于过滤的“LinkFilter”类,将它安装在视图类中并对 QEvent::WhatsThisClicked 事件做出反应。这工作正常。

现在我会在我的应用程序中捕获每个 QEvent::WhatsThisClicked,但是在每个对话框/视图/动作/小部件上安装它看起来真的很乱。这有某种全局事件处理程序,我可以安装我的“LinkEvent”类吗?必须有一个很好的 Qt 风格的方法来解决这个问题。

为了安装 EventFilter,我强烈关注这个视频教程http://youtu.be/DHgbYxpZkbg