问题标签 [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++ - 了解其他班级发生的事件
我有两节课:
和
AdaptedWidget
我需要从我的对象中获取有关对象中发生的事件的信息,WindowManager
我该怎么做?
qt - 获取 Pixmap 是调用函数 500 次时的空像素图
我在 qt 标签中显示图像。下面是我的代码:
单击按钮时,它将向服务器发送请求,并显示从服务器接收到的不同图像。如果它不超过 500 次,它工作正常。如果它超过第一个,则显示此错误
它不显示图像。然后,如果有人再次发送图像请求,则会显示以下错误:Qt 已捕获从事件处理程序引发的异常。Qt 不支持从事件处理程序中抛出异常。您必须QApplication::notify()
在那里重新实现并捕获所有异常。
我没有得到上面代码中的错误。有人可以告诉我如何解决这个问题吗?
c++ - 为什么 Qt3DRender::QPickEvent 不继承自 QEvent?
Qt3D 引入Qt3DRender::QPickEvent
了例如当用鼠标单击 3D 对象时可以发出的。
为什么它不是派生自QEvent
, 根据其文档,它应该是“所有事件类的基类”?
python - QTableView 不会将预期的 FocusIn / FocusOut 事件发送到 eventFilter
我有一个需要大量水平空间的浮动或复杂条目的 QTableWidget。通过字符串格式显示位数减少的值效果很好,但显然我在编辑和存储表中的条目时失去了精度。
我通过使用 eventFilter 找到了 QLineEdit 小部件的解决方案:FocusIn
事件将存储的值以全精度复制到 QLineEdit 文本字段,FocusOut
事件或Return_Key
存储更改的值并用减少的位数覆盖文本字段。
对 QTableWidgets 使用相同的方法会给我以下(可能相关的)问题:
- FocusIn 和 FocusOut 事件未按预期生成:当我双击一个项目时,我得到一个 FocusOut 事件,单击另一个项目会产生一个 FocusIn 事件
- 我无法复制我编辑的选定项目的内容,我总是得到未编辑的值。
- 通过单击选择一个项目不会产生事件。
我已经尝试评估 QTableWidgetItem 事件,但我没有收到任何事件 - 我需要在每个 QTableWidgetItem 上设置事件过滤器吗?如果是这样,我是否需要在每次调整表格大小时断开 QTableWidgetItem eventFilters(在我的应用程序中经常这样做)?用 QLineEdit 小部件填充我的表格是否有意义?
附加的 MWE 并不小,但我可以进一步缩小它。
qt - QListWidget 上带有 MouseButtonRelease 的 QT eventFilter 未检测到鼠标按下/释放
它应该很简单,但不知何故它没有按应有的方式工作。我正在尝试在 QListWidget 上使用 eventFilter 鼠标按钮按下或释放来捕捉。ListWidget 是在 UI 下准备的。我已经像这样安装了 eventFilter
我在公共下的标题中添加了:
并在 MainWindow 下创建
我已经检查了文档,它说每个事件在发送到给定的 QWidget 之前都被传递给 eventHandler。这部分是正确的。因为 KeyPress 和 ContextMenu 正在工作。即使列表小部件设置为 blocksingals(true)。
问题是 MouseButtonRelease / Press 不起作用。有东西挡住了它,我不知道是什么或如何让它工作。我也有 on_listWidget_clicked 但即使摆脱它仍然无法正常工作。
请帮忙。谢谢
c++ - 转发从 QCoreApplication::postEvent 收到的 QEvent 是否安全
我有一个运行多个线程的 QT C++ 应用程序,线程使用 QCoreApplication::postEvent 机制相互传输信息。QCoreApplication::postEvent 文档明确声明必须在堆上分配事件,并且在事件发布后访问事件是不安全的。
http://doc.qt.io/qt-5/qcoreapplication.html#postEvent
当我的应用程序中的一个线程接收到另一个线程发送给它的事件(通过 QObject::event)时,它通常会通过 postEvent 方法将事件“转发”到不同的线程。 这安全吗?我是否应该创建一个全新的事件,它是原始事件的副本?我的应用程序根本没有崩溃......但这并不意味着风险不存在。 QT 事件何时被视为“已发布”?
qt - 永远不会为 QQuickView 窗口生成 QEvent::Drop 事件
我正在为我的窗口QEvent::Drop
永远不会生成事件的问题而苦苦挣扎。QQuickView
我需要实现拖放功能,将文件从资源管理器拖放到QQuickView
.
如本文所述,我为对象安装了一个事件过滤器QQuickView
,并在eventFilter()
方法中尝试捕获所需的事件。QEvent::DragMove
正在按预期生成,因为我将文件拖到视图上。但是当我将文件放在视图上时,QEvent::Drop
并没有生成。而是QEvent::DragLeave
生成 。
这是一个(事件)过滤器类代码:(标题)
(来源)
c++ - 如何丢弃 QEvent 而不是忽略它
我有两个小部件ParentWidget
,它们都是ChildWidget
从.QWidget
void dragEnterEvent(QDragEnterEvent *event)
现在ChildWidget
包含在ParentWidget
. 现在假设某个QDragEvent*
被调用event
可能对 有效ParentWidget
,但对 无效,ChildWidget
并假设dragEnterEvent
forChildWidget
被调用。
现在我可以调用event->ignore()
以忽略事件 for ChildWidget
,但随后调用dragEnterEvent
for ParentWidget
。
这是我的问题。我不希望,dragEnterEvent
如果ParentWidget
事件已经在ChildWidget
.
简单地说,我只是不希望事件被忽略,而且事件需要在dragEnterEvent
of中完全丢弃ChildWidget
。
假设ParentWidget
和ChildWidget
是松散耦合的组件,如何实现这样的行为?
最小的例子
以下示例显示了我想要实现的目标,并且在某种意义上也是一种可行的方法。在更复杂的情况下,它会导致代码过于复杂。
ChildWidget
接受以 结尾的文件名txt
,而接受ParentWidget
所有丢弃,除了已经被 忽略的那些ChildWidget
。
主文件
父小部件.h
ChildWidget.h
qt - 按退格键时 QCombobox 写“HELLO”
当我按下 Qcombobox->linEdit()、键 Backpace 并清除所有文本时,我想要拦截信号。我在网上看到,我写了这段代码,但它不起作用。似乎没有调用keypressevent函数..一些提示???
qt - 如何将小写键发送到 Qt 小部件
我有一个加载某个网站的 QWebView。现在,我想模拟一个在 html 输入字段中输入内容的人。
我将焦点放在输入字段上,然后继续:
这可行,但输入的键始终是大写的 I。我需要将小写的 i 发送到小部件。不幸的是,Qt 类只提供 Qt::Key_X 或 Qt::Key_A - 而不是 Qt::Key_a。
我怎么解决这个问题?