问题标签 [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 投票
0 回答
156 浏览

c++ - 使用 QEvent 序列化进行集成测试

我想为我的 gui 应用程序创建集成测试工具包。

我的应用程序将有 3 种模式:

  • 正常模式 - 应用程序只是执行并做必须做的事情
  • 记录模式 - 应用程序执行和记录所有系统事件必须做的事情
  • 重复模式 - 应用程序在没有用户参与的情况下执行,但会生成用户事件。

该工具的总体思路是以记录模式记录来自用户的所有系统事件(例如键盘输入、鼠标点击),并以原始顺序重复它们,而不是来自用户,而是来自特殊单元。

我遇到的主要问题 - 是否可以QEvent使用真正的自发标志进行保存,而不需要对继承的类进行自定义?在其他情况下,我将需要编写包装器,它将所有自发事件转换为继承的类。

或者我的目标可能已经存在类似的工具或 qt 库?

0 投票
2 回答
6228 浏览

c++ - 如何合成按键事件?

我可以通过 Qt 中的回调函数从 HAL 获取键值。为该键创建事件

注意:inputKey.keyValue从 HAL 层接收的键值。

现在我需要在 Qt 中注册此键事件,以便如果在 IR Remote 中发生任何按键事件,则以相应的形式,keyPressEvent(e)或者event(e)将被调用。并根据按键,执行特定的动作。

注意:不止一种形式,其中按键事件将触发并且不止一个键有“Page_Up,Page_Down,Ok Key等......”

试图调用 Postevent() 和 connect(.......) 但没有任何帮助。KeyPressEvent() 没有被执行。

0 投票
1 回答
869 浏览

android - 如何在 Android 上注册 ACTION_VIEW Intent?为什么我的 QApplication 没有收到 QEvent::FileOpen 事件?

我正在尝试注册一个 QtQuick Android 应用程序来打开某类文件并处理它们。

据我所知,当使用 a 打开文件时,QApplication会导致 aQEvent::FileOpen被触发。

我所拥有的最有力的(如果不确定的话)证据是在生产系统中发现的这个提交,以及一些博客文章和谷歌结果。

所以,我首先创建一个新的空 QtQuick 项目

然后我写一个 EventFilter,像这样:


然后我注册它相应地编辑我的清单,通过添加

此时,我在 Android 模拟器中启动了我的应用程序。

当我.foo使用 Nexus 5、API 22 在我的 AVD 中从 ES 文件资源管理器打开文件时,我的应用程序确实带到了前台,但没有 FileOpen记录任何事件

如果我在我的过滤器方法中设置了一个断点,我似乎没有命中它。

这让我很困惑。

我尝试了另一种方法,方法是扩展QApplication和重载event(QEvent *)几乎相同的结果(没有命中)。

我可能做错了什么?


请在此处找到此 MWE 的完整存储库。

0 投票
1 回答
1610 浏览

qt - Qt5.5 如何在应用程序级别覆盖 MousePress 事件坐标

我正在使用 Qt5.5 在小型嵌入式 Linux 设备上开发应用程序。我需要能够在我的应用程序中修改从 Linux ( tslib ) 接收的鼠标按下坐标。我尝试在我的主视图中实现一个事件过滤器,它修改接收到的鼠标坐标,创建一个新的鼠标事件并将新事件提交给小部件。但是,在小部件的 mousePressEvent 函数中,我只看到一次调试消息,它是接收到的原始坐标,而不是我截取和修改的坐标。

目前,当我触摸屏幕时,我会收到调试消息,它们看起来像这样:

如何在顶层拦截鼠标事件,修改它们的坐标,并将它们发布到我的小部件,同时还消耗原始的鼠标事件?谢谢!

主.cpp:

我的小部件:

0 投票
1 回答
523 浏览

qt5 - Abort a QCloseEvent

In my application, I am handling a QCloseEvent (when the close button X was pressed):

The if clause is triggereed when no abort was pressed. I would like to implement an else clause where a QCloseEvent is aborted? How?

0 投票
3 回答
875 浏览

c++ - 窗口/屏幕上发生任何更改时的 Qt 事件 + 屏幕截图

我正在考虑使用一些调试可能性扩展 QT4 应用程序,以便更轻松地分析客户问题。应用程序已经有一个“调试”模式,当它被启用时,会产生很多日志条目,很难阅读。我想要实现的是在 GUI 上发生更改时截取应用程序的屏幕截图。我知道可能会拍很多照片,但一般是很长时间没有开启Debug模式。问题是我找不到这样的事件/信号。所以我有两个问题:

  1. 有这样的活动我可以订阅吗?我的意思是,每当屏幕上发生任何变化时都会触发一个事件。
  2. 我可以使用 Qt 截取应用程序的屏幕截图吗?

提前致谢!

0 投票
2 回答
308 浏览

c++ - 管理 Win32 应用程序和 QWinMigrate 之间的键盘事件

我已将 Qt 对话框集成到传统的 Win32 应用程序中,现在对于如何管理从 Qt->Win32 传播的键盘事件感到有些困惑。有什么方法可以测试 Qt 是否正在“处理”事件(例如,输入到编辑框),并防止这些事件传播到主机应用程序?

Win32 应用程序有自己的非常复杂的加速器系统,当使用原生编辑框时,我们通常手动禁用加速器。我没有能力为 Qt 对话框执行此操作,因为它是多个应用程序之间的共享小部件。

目前我禁用了整个对话框上的主机加速器以获得焦点,但是是否可以告诉 Qt 阻止来自编辑框的 kbd 事件传播?理想情况下不修改 QtDialogs 代码(虽然我可以在必要时这样做?)

0 投票
1 回答
1254 浏览

qt - 如何制作一个冒泡到父 QObjects 的 QEvent?

我需要制作一个 GUI 按钮,告诉它的父级(或父级的父级,甚至是父级的父级的父级......)QStackedLayout应该显示不同的小部件。我创建了一个自定义 QEvent:

我这样调用它:

并像这样处理它:

我使用eventFilter它然后注册到主应用程序小部件。但是该事件没有被捕获。在某处我读到一些QEvents 根本不会在层次结构中冒泡。

那么所有事件都会冒泡吗?如果不是,哪些会,哪些不会,为什么?以及如何正确地使我的活动冒泡?

0 投票
0 回答
167 浏览

c++ - QToolTip::showText 鼠标释放后消失

在mousePressEvent里面我做

但是释放鼠标按钮后工具提示消失了。如果我不释放它,工具提示会在 1000 毫秒后消失。

0 投票
0 回答
103 浏览

c++ - 从另一个事件创建一个事件 - 我有内存泄漏吗?

谁负责管理事件?

对于以下代码:

我在 Valgrind 下运行它,它告诉我有内存泄漏。

哪个是泄漏,event还是event1

我应该删除其中一个,还是两者都删除?还是我需要接受或忽略它们?

(我尝试删除event1,因为它是我创建的,Valgrind 仍然说我有内存泄漏;但event实际上是从调用者传递的,所以我不应该触摸它,我认为 - 甚至event1我不确定 - 不会发送它来QGraphicsView照顾它?)