创建一个真正的无头 QApplication 实例

2024-01-18

我有一个 Qt 5.8(通过 PyQt5)应用程序,其许多测试需要实时QApplication实例以测试 gui 小部件交互。

然而,在我的新 Mac OS X (10.11.6) 机器上,运行这些测试时,窗口不断被创建和销毁,导致整个系统的 UI 变得高度不稳定(尽管测试按预期通过)。

我的测试甚至不调用QApplication.exec() - the QApplication()构造函数足以导致这种情况。在我的 Linux 机器上这不是问题,因为没有创建 Windows(至少在我的 X 配置下)。

QCoreApplication不是一个选项,因为需要创建和使用实际的 GUI 小部件。尝试交换两者会导致大量测试失败。

Qt 5.8 有没有办法创建一个真正的无头QApplication不使用实例QCoreApplication?


我遇到了同样的问题,我认为解决方案是添加参数,-platform offscreen到命令行QApplication.

我已经查到资料了here https://doc.qt.io/qt-5/qguiapplication.html#platformName-prop

假设您的应用程序可执行文件名为app_exe

int main(int argc, char* argv[])
{
   int argument_count = 3;
   char* argument[3];
   argument[0] = const_cast<char*>("app_exe");
   argument[1] = const_cast<char*>("-platform");
   argument[2] = const_cast<char*>("offscreen");
   QApplication app(argument_count, argument);
   return app.exec();
}

因此,您的应用程序应该运行,但不显示任何 GUI。要查看应用程序是否正在运行,您应列出所有正在运行的任务,并且您的应用程序应在其中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建一个真正的无头 QApplication 实例 的相关文章

  • 为什么模板类的静态成员不唯一

    看一下下面的代码 include
  • Xamarin 测试记录器选项有错误。无法记录自动化测试

    选项 gt Xamarin gt Xamarin Test Recorder 中的所有设置都有错误 我的桌面上安装了 Visual Studio 2015 企业版 以及 Xamarin 和 Xamarin Test Recorder 插件
  • 基于多线程的 RabbitMQ 消费者

    我们有一个 Windows 服务 它监听单个 RabbitMQ 队列并处理消息 我们希望扩展相同的 Windows 服务 以便它可以监听 RabbitMQ 的多个队列并处理消息 不确定使用多线程是否可以实现这一点 因为每个线程都必须侦听 阻
  • Python 相当于 Bit Twiddling Hacks 中的 C 代码?

    我有一个位计数方法 我正在尝试尽可能快地实现 我想尝试下面的算法位摆弄黑客 http graphics stanford edu seander bithacks html CountBitsSetParallel 但我不知道 C 什么是
  • 如何使用 libclang 判断成员函数是 const 还是 volatile?

    我有一个实例CXCursor同类CXCursor CXXMethod 我想知道这个函数是否是const or volatile 例如 class Foo public void bar const void baz volatile voi
  • C++ 中可以使用匿名类作为返回类型吗?

    有没有办法在 C 中使用匿名类作为返回类型 我用谷歌搜索这可能有效 struct Test fun 但是这段代码无法编译 错误信息是 新类型不能在返回类型中定义 其实代码没有任何意义 我只是想弄清楚匿名类是否可以用作C 中的返回类型 这是我
  • 如何在 C# 中创建 PKCS12 .p12 文件?

    这可能是一个n00b问题 但我在这方面确实没有任何经验 我需要创建一个包含 X509 证书和私钥的 p12 捆绑包 我当前有两个对象 X509Certificate2 和包含关键信息的 RSAParameters 对象 如何将它们合并到 p
  • 无法在 Visual Studio 和 vcpkg 中构建 cmake 项目(致命错误 C1083)

    我今天安装了vcpkg 启用了与Visual Studio的集成 即 vcpkg集成安装 并开始安装库 我基本上安装了 cpprestsdk 并触发了 boost 库的安装 然后我在 Visual Studio CMake 中打开该项目 当
  • Moq - 是否可以在不使用 It.IsAny 的情况下设置模拟

    我一直使用 Moq 进行单元测试 有时我会嘲笑有很多参数的方法 想象一下这样的方法 public class WorkClient public void DoSomething string itemName int itemCount
  • 代码块 - 使用大地址感知标志进行编译

    如何使用以下命令在 64 位系统上编译 32 位应用程序LARGE ADRESS AWARE使用代码块标记 我需要使用超过 2GB 的内存 应该是添加的情况 Wl large address aware到链接标志 我不使用 CodeBloc
  • Bazel:将编译标志添加到默认 C++ 工具链

    我想向默认的 C 工具链添加一些编译器和链接器标志 以便我构建的所有目标 本地或导入 共享它们 我知道可以定义我自己的工具链 但我不想这样做 因为它非常复杂且容易出错 理想情况下我想要这样的东西 cc toolchain cc defaul
  • 这个元组创建习惯有名字吗?

    On the 增加邮件列表 http lists boost org Archives boost 2014 06 214213 php LouisDionne 最近发布了以下创建类似元组的实体的巧妙技巧 include
  • C# 中的类和模块有什么用

    有人可以解释一下类和模块之间的区别吗 你什么时候使用其中一种而不是另一种 我正在使用 C 更新 我的意思是相当于 VB 模块的 C 版本 这在很大程度上取决于您所指的 模块 Visual Basic 的模块 C 中没有真正等效的 VB Ne
  • 在 boost 元组、zip_iterator 等上使用 std::get 和 std::tie

    我有哪些使用选择std get lt gt and std tie lt gt 与增强结构一起 例子 我想使用基于范围的 for 循环在多个容器上进行迭代 我可以实施zip函数 它使用boost zip iterator include
  • 什么是 C++11 扩展 [-Wc++11-extensions]

    我需要一些帮助来了解此错误发生的位置 警告 非静态数据成员的类内初始化是 C 11 扩展 Wc 11 extensions 这是它来自的代码部分 typedef struct Hand bool straight false bool fl
  • 没有 FPU 的处理器中的浮点计算

    是否可以在没有浮点单元的嵌入式处理器中执行浮点运算 是的 您只需要在软件中完成即可 你的编译器可能会提供支持 http gcc gnu org onlinedocs gccint Soft float library routines ht
  • 智能感知不显示评论

    如果我在 Visual Studio 2010 中输入类似的内容数据集1 我得到所有可用方法和属性的列表 智能感知 这很好用 但是 如果我在此列表中选择一个方法或属性 我不会得到 if 的描述 例如 如果我有类似的东西 public cla
  • SQL Server CE 不兼容的数据库版本

    我有一个 SQL Server CE 4 0 数据库 sdf文件 当我尝试从我的应用程序 WPF 对数据库进行查询时 出现以下错误 数据库版本不兼容 如果这是兼容文件 请运行修复 其他情况请参考文档 数据库版本 4000000 请求的版本
  • 查找文本文件中每行的行大小

    如何计算每行中的字符或数字数量 是否有类似 EOF 的东西更像是行尾 您可以遍历行中的每个字符并不断增加计数器直到行尾 n 遇到 确保以文本模式打开文件 r 而不是二进制模式 rb 否则流不会自动将不同平台的行结束序列转换为 n 人物 这是
  • 使用 ImageResizer 获取图像尺寸的最佳方法

    我正在将现有的 MVC 4 网站从自制用户文件上传切换为在上传时使用 ImageResizer 调整文件大小 我在文档中看到我不应该使用 System Drawing 但我无法找出任何其他获取图像尺寸的方法 尺寸是来自原始图像还是调整大小的

随机推荐

  • 如何在maven中保护和加密setting.xml密码文件?

    如何保护 maven 中 settings xml 中的服务器 代理设置 我认为这主要是关于存储在那里的登录名和密码 并且我认为这些不能明确地放置在那里 它们应该存储在环境变量 等中吗 安全settings xml 的示例应该是什么样子 您
  • 获取存储库中的所有文件夹和文档 Alfresco Restful

    我正在学习露天 我想使用 Restful API 获取存储库中的所有文件夹和文档 我怎样才能做到这一点 网页脚本是构建您自己的 API 的好方法 但在这种情况下 您应该可以使用 Alfresco 为您提供的 OOTB 内置 API 您可以使
  • MVC 与区域 - Html.ActionLink 返回错误的 URL/路线?

    我正在使用 MVC3 并在我的应用程序中有区域 一般来说 一切正常 我可以导航到我的区域 例如 Admin Area Controller Department 如下所示 然而 我注意到 如果我没有在 ActionLink 中指定区域 例如
  • 在循环内增加时间 15 分钟[重复]

    这个问题在这里已经有答案了 我想创建一个下拉菜单 它将当前时间作为开始时间 直到 24 小时为止 就像直到 24 小时之前 所以在这之间它将显示每 15 分钟增量的时间 问题是 当我尝试运行循环时 起始时间还可以 但在下一个循环中 时间会跳
  • 使用apache服务器时覆盖python3默认编码器

    我正在运行一个 apache 服务器 它服务于一个名为巧妙 http inginious readthedocs io Getting UnicodeDecodeError ascii 读取带有希伯来字符的文件时 我读到您可以使用环境变量更
  • 如何在Client中获取socket.io客户端的session id

    我想在我的 socket io 客户端中获取客户端的会话 ID 这是我的 socket io 客户端 var socket new io Socket config host port config port rememberTranspo
  • Google App Engine app.yaml 中的反向skip_files

    我目前有以下内容skip files在我的 app yaml 中 skip files json yaml Gruntfile js bower components node modules src tests tmp 这实在是太臃肿了
  • Ruby 中的“<<-”是什么意思?

    例如 code lt lt EOH bundle install bundle exec unicorn c etc unicorn cfg D EOH 这段代码有什么作用 什么是 lt lt called 它被称为定界符 定义多行字符串的
  • 在 CATextLayer 中显示属性字符串

    我有一个简单的示例应用程序 我在其中创建了一个CATextLayer并设置其string财产给NSAttributedString 然后我将该 CATextLayer 添加到视图中 import
  • 给定一个整数数组,找到第一个唯一的整数

    给定一个整数数组 找到第一个唯一的整数 我的解决方案 使用std map 将整数 数字作为键 其索引作为值 一一放入其中 O n 2 lgn 如果有重复 则从地图中删除该条目 O lg n 将所有数字放入映射后 迭代映射并找到索引最小 O
  • 如何覆盖视频的 i 帧?

    我想销毁视频的所有 i 帧 这样做我想检查仅加密视频的 i 帧是否足以使其无法观看 我怎样才能做到这一点 仅删除它们并重新压缩视频与真正覆盖流中的 i 帧而不重新计算 b 帧等不同 使用 libavformat 来自 ffmpeg 的库 您
  • 如何在多线程环境中使用旧的单线程 C++ 库

    我有一个旧的 C 库 它是为在单线程环境中使用而设计的 该库公开了用于初始化的接口 这改变了库的内部数据结构 以及仅读取数据和进行计算的用法 我的目标是在 Windows 多线程应用程序中使用这个库 不同的线程调用使用不同数据初始化的 dl
  • 如何确保python脚本使用虚拟环境?

    我创建了虚拟环境并激活它 已安装软件包但无法从虚拟环境导入它们 pip freeze 但尝试导入模块时出错 Traceback most recent call last File z Documents Python Projects P
  • 比较 std::wstring 和 std::string

    我怎样才能比较wstring 例如L Hello to a string 如果我需要相同的类型 如何将它们转换为相同的类型 既然你问了 这是我从字符串到宽字符串的标准转换函数 使用 C 实现std string and std wstrin
  • 通过jenkins上传.ipa到testflight

    我正在使用詹金斯进行自动构建和自动部署 到目前为止 我成功地实现了构建生成 即 ipa 文件 我还实现了diawi链接生成 现在我想通过 jenkins 将 ipa 上传到 testflight 现在我正在使用这个脚本进行上传 ipa di
  • IE7 无法识别文本输入只读属性?

    我通过 javascript 设置 readonly readonly 换句话说 true document getElementById my id setAttribute readonly readonly 这在 FF Safari
  • 插入到数组中不存在的索引处

    我正在尝试使用从数据库中提取的数据来格式化 JavaScript 中的数组 以便行的 ID 是数组的索引 因此数据 ID Data 1 hi 2 more data 4 junk data 8 hello world 12 h3ll0 看起
  • 使用指针的字符串长度

    我正在寻找一些代码技巧 我发现一个我了解了基础知识但我不明白它为什么存在的原因 它与 while 循环中的字符串指针有关 通常我不处理字符串 因为我主要在嵌入式系统 小工具上工作 我需要理解为什么字符串指针在不增加时会结束 因此 在这段代码
  • 在 Python 中使用 OpenCV VideoCapture 获取当前帧

    我正在使用 cv2 VideoCapture 在 python 脚本中读取 RTSP 视频链接的帧 read 函数位于每秒运行一次的 while 循环中 但是 我没有从流中获取最新的帧 我使用较旧的帧 这样我的延迟就增加了 无论如何 我是否
  • 创建一个真正的无头 QApplication 实例

    我有一个 Qt 5 8 通过 PyQt5 应用程序 其许多测试需要实时QApplication实例以测试 gui 小部件交互 然而 在我的新 Mac OS X 10 11 6 机器上 运行这些测试时 窗口不断被创建和销毁 导致整个系统的 U