问题标签 [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++ - 使用 QEvent 序列化进行集成测试
我想为我的 gui 应用程序创建集成测试工具包。
我的应用程序将有 3 种模式:
- 正常模式 - 应用程序只是执行并做必须做的事情
- 记录模式 - 应用程序执行和记录所有系统事件必须做的事情
- 重复模式 - 应用程序在没有用户参与的情况下执行,但会生成用户事件。
该工具的总体思路是以记录模式记录来自用户的所有系统事件(例如键盘输入、鼠标点击),并以原始顺序重复它们,而不是来自用户,而是来自特殊单元。
我遇到的主要问题 - 是否可以QEvent
使用真正的自发标志进行保存,而不需要对继承的类进行自定义?在其他情况下,我将需要编写包装器,它将所有自发事件转换为继承的类。
或者我的目标可能已经存在类似的工具或 qt 库?
c++ - 如何合成按键事件?
我可以通过 Qt 中的回调函数从 HAL 获取键值。为该键创建事件
注意:inputKey.keyValue
从 HAL 层接收的键值。
现在我需要在 Qt 中注册此键事件,以便如果在 IR Remote 中发生任何按键事件,则以相应的形式,keyPressEvent(e)
或者event(e)
将被调用。并根据按键,执行特定的动作。
注意:不止一种形式,其中按键事件将触发并且不止一个键有“Page_Up,Page_Down,Ok Key等......”
试图调用 Postevent() 和 connect(.......) 但没有任何帮助。KeyPressEvent() 没有被执行。
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 的完整存储库。
qt - Qt5.5 如何在应用程序级别覆盖 MousePress 事件坐标
我正在使用 Qt5.5 在小型嵌入式 Linux 设备上开发应用程序。我需要能够在我的应用程序中修改从 Linux ( tslib ) 接收的鼠标按下坐标。我尝试在我的主视图中实现一个事件过滤器,它修改接收到的鼠标坐标,创建一个新的鼠标事件并将新事件提交给小部件。但是,在小部件的 mousePressEvent 函数中,我只看到一次调试消息,它是接收到的原始坐标,而不是我截取和修改的坐标。
目前,当我触摸屏幕时,我会收到调试消息,它们看起来像这样:
如何在顶层拦截鼠标事件,修改它们的坐标,并将它们发布到我的小部件,同时还消耗原始的鼠标事件?谢谢!
主.cpp:
我的小部件:
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?
c++ - 窗口/屏幕上发生任何更改时的 Qt 事件 + 屏幕截图
我正在考虑使用一些调试可能性扩展 QT4 应用程序,以便更轻松地分析客户问题。应用程序已经有一个“调试”模式,当它被启用时,会产生很多日志条目,很难阅读。我想要实现的是在 GUI 上发生更改时截取应用程序的屏幕截图。我知道可能会拍很多照片,但一般是很长时间没有开启Debug模式。问题是我找不到这样的事件/信号。所以我有两个问题:
- 有这样的活动我可以订阅吗?我的意思是,每当屏幕上发生任何变化时都会触发一个事件。
- 我可以使用 Qt 截取应用程序的屏幕截图吗?
提前致谢!
c++ - 管理 Win32 应用程序和 QWinMigrate 之间的键盘事件
我已将 Qt 对话框集成到传统的 Win32 应用程序中,现在对于如何管理从 Qt->Win32 传播的键盘事件感到有些困惑。有什么方法可以测试 Qt 是否正在“处理”事件(例如,输入到编辑框),并防止这些事件传播到主机应用程序?
Win32 应用程序有自己的非常复杂的加速器系统,当使用原生编辑框时,我们通常手动禁用加速器。我没有能力为 Qt 对话框执行此操作,因为它是多个应用程序之间的共享小部件。
目前我禁用了整个对话框上的主机加速器以获得焦点,但是是否可以告诉 Qt 阻止来自编辑框的 kbd 事件传播?理想情况下不修改 QtDialogs 代码(虽然我可以在必要时这样做?)
qt - 如何制作一个冒泡到父 QObjects 的 QEvent?
我需要制作一个 GUI 按钮,告诉它的父级(或父级的父级,甚至是父级的父级的父级......)QStackedLayout
应该显示不同的小部件。我创建了一个自定义 QEvent:
我这样调用它:
并像这样处理它:
我使用eventFilter
它然后注册到主应用程序小部件。但是该事件没有被捕获。在某处我读到一些QEvent
s 根本不会在层次结构中冒泡。
那么所有事件都会冒泡吗?如果不是,哪些会,哪些不会,为什么?以及如何正确地使我的活动冒泡?
c++ - QToolTip::showText 鼠标释放后消失
在mousePressEvent里面我做
但是释放鼠标按钮后工具提示消失了。如果我不释放它,工具提示会在 1000 毫秒后消失。
c++ - 从另一个事件创建一个事件 - 我有内存泄漏吗?
谁负责管理事件?
对于以下代码:
我在 Valgrind 下运行它,它告诉我有内存泄漏。
哪个是泄漏,event
还是event1
?
我应该删除其中一个,还是两者都删除?还是我需要接受或忽略它们?
(我尝试删除event1
,因为它是我创建的,Valgrind 仍然说我有内存泄漏;但event
实际上是从调用者传递的,所以我不应该触摸它,我认为 - 甚至event1
我不确定 - 不会发送它来QGraphicsView
照顾它?)