QXcbConnection:尝试使用 Qt Creator 调试 Linux 应用程序时无法连接到显示器

2023-12-09

我正在尝试将一组使用 Qt Creator 构建的 Windows 应用程序移植到 Linux。我已经使用 VirtualBox 在 64 位 Ubuntu 16.04 虚拟机中安装了基于 Qt 5.7.0 的 Qt Creator 4.0.2。主机 PC 是 64 位 Windows 7 Professional。

我已经成功构建了一个应用程序项目,现在正在尝试调试它。如果我尝试使用 F5 开始调试,Qt 会坚持尝试编译尚未编译的项目之一,因此我使用“启动并调试外部应用程序...”。

应用程序立即在 main() 行中崩溃:

QApplication app(argc, argv);

出现错误:QXcbConnection:无法连接到显示器。

如果我从终端窗口运行可执行文件,则会显示 UI 并且应用程序正常运行。

我需要做什么才能使用 Qt 调试 UI 应用程序。


当您部署应用程序并从设备本身的 X11 系统中运行它时,您会发现它可以工作,因为它可以访问DISPLAY环境变量(简单地说)告诉它在哪里显示自己。该环境变量已在 X 会话中的进程树中进一步设置。

当您通过调试器启动程序时,Qt Creator 将连接到远程设备(通过您在工具 > 选项 > 设备),并通过 ssh 运行程序。在这种情况下,您的程序不再知道在哪里显示自己,因为显然它无法在 ssh 中显示。它在您指定的线路上出现故障,因为这是 XCB 子系统尝试确定为此目的连接到哪个 X-Server 的位置。

所以回答你的问题:您需要手动提供DISPLAY远程调试时的环境变量。

测试这一点的一个简单方法是转到项目模式,找到您用于为远程设备构建的套件,然后选择Run设置。在此之下,您应该找到一个运行环境部分。在这里您可以添加一个名为的新变量DISPLAY并将其值设置为您正在运行的显示器的标识符(我猜您会想要:0.0,表示本地主机上的第一个可用屏幕,尽管您应该阅读有关 DISPLAY 变量的信息,例如here or here).

一个更长期、可能更好的解决方案是在您的套件设置中设置相同的变量(工具 > 选项 > 构建和运行 > 套件 > 环境)。这将适用于您使用它创建的未来程序。

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

QXcbConnection:尝试使用 Qt Creator 调试 Linux 应用程序时无法连接到显示器 的相关文章

随机推荐

  • 如何解码UTF8字节?

    如何在 C 中解码字符串中的 UTF8 字节 示例 解码此输入 Poluci C3 B3n 要输出这个 Poluci n 此编码似乎是 URL 编码 不是 UTF 8 编码 您可以在 NET 中使用多种不同的方法对其进行取消编码 HttpU
  • 如何删除 Android 上所有可能缓存的令牌或会话 ID?

    一个奇怪的问题 但希望有人能回答 我正在开发一个与 Facebook 连接的移动应用程序 一切都很顺利 已经持续了大约一周 我可以授权和删除授权并发布到用户的提要 在周六或周日 我修改了我的请求以添加离线访问 大约在那个时候 不幸的是 我无
  • 透明 Java 窗口上的不透明组件

    我已经成功地使 java 窗口透明 但在这些窗口之上叠加不透明组件时遇到了麻烦 JFrame setOpacity 0 和 AWTUtilities setWindowOpacity 都将透明度传输到组成组件 此外 JFrame setBa
  • Python 中的图像创建和字体

    我利用 PIL 在 python 中创建了一组图像 除此之外 我还实现了 textwrap 以便将文本添加到我创建的图像上 但是它们并不十分完美 首先 下面是我创建的三个图像示例 这三个图像具有不同的宽度 但我希望它们都具有相同的宽度 而高
  • 邮政编码的正则表达式

    可能的重复 最终的邮政编码和邮政编码正则表达式是什么 我需要正则表达式 它可以满足我的邮政编码的所有三个条件 例如 12345 12345 6789 12345 1234 任何指示和建议将不胜感激 谢谢 d 5 s d 4 字符串的开头 d
  • 通过VB6发送电子邮件

    我想知道是否有办法通过VB6发送电子邮件 SMTP 我有一个应用程序 只需要在用户完成后发送一封简单的电子邮件 让一组人知道该应用程序已处理 有没有办法做到这一点 是的 取决于您使用的 Windows 版本 假设更高版本之一 CDO Mes
  • Firebase 云函数初始化不工作

    我想使用 Firebase 云功能 但是当我尝试初始化存在的项目时出现错误 这是错误 错误 HTTP 错误 403 调用者没有权限 我之前创建了项目 然后移动了项目文件夹 当我尝试部署时 它不起作用 我不记得我遇到了哪个错误 然后我尝试初始
  • 是否可以为所需文件获取不同的范围?

    假设我有一个名为 import js 的示例文件 var self function Test a b this a a this b b self this Test prototype run function console log
  • 将 WordPress 会话扩展到主域

    我有一个使用 WordPress 进行社区目的的网站 它安装在子目录 mysite community 下 但是当我尝试将 WordPress 函数调用到 mysite 时 我无法检索已登录的用户 这是我的示例代码 require xcar
  • 输入“type”无法回收到R中的大小

    我有这个数据框 DF V1 V2 P1 03 02 2020 22 04 02 2020 33 05 02 2020 P2 05 02 2020 P1 06 02 2020 我想要这个输出 DF V1 V2 V3 P1 03 02 2020
  • C# CultureInfo.GetCultures 返回一个(几乎)空列表

    Windows 8 1 专业版 Visual Studio 2013 NET Framework 4 5 2 这是代码 var cultures CultureInfo GetCultures CultureTypes AllCulture
  • 这个堆栈跟踪是什么意思?

    Devices tested on Samsung S4 Ipad Browsers Chrome and Safari for mobile Server JBOSS Export type war 在正常使用我的应用程序期间 Chrom
  • 如何在 pandas / python 中查看 Excel 电子表格的公式?

    我想将 Excel 电子表格读入 python pandas 但有公式而不是单元格结果 例如 如果单元格 A1 为 25 单元格 B1 为 A1 我希望我的数据框显示 25 A1 现在它显示 25 25 我怎样才能这样做呢 OpenPyXL
  • 在razor的子视图中调用Jquery函数

    我想使用这样的活动 myModal show 原来的调用插件例程如下 我将我的代码放在下面的部分中 这里 myModal show 不运行 using Html BeginForm Contact Home FormMethod Post
  • 如何在 python-socketio 上发送消息

    API 文档 https python socketio readthedocs io en latest intro html 提供了服务器和客户端的示例 但如果您运行它们 您将不会开始消息传递 而且我不知道如何设置它 如何设置消息传递
  • 在子报表中创建和使用 CSV 数据

    背景 Jaspersoft 社区论坛是riddled有关如何在报表中使用 CSV 数据源的未解答的问题 Problem 使用时贾斯帕软件工作室 使用本地文件作为数据源很方便 完成此任务的说明充其量是零碎的 最坏的情况是不完整的 Questi
  • 单击 上的按钮时如何抑制 上的 Click 事件?

    我在执行操作的表行上有一个单击事件 但是 当我单击同一行上的按钮时 我想阻止行上单击事件并简单地执行按钮的操作 但我不知道如何实现这一点 我创建了一个 gt fiddle table class table table condensed
  • 如何在Android平台上反编译APK或DEX文件? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 Android平台上是否可以反编译APK包或DEX文件 有没有可以反编译APK文件的工具 您需要三个工具decompile an APK file
  • 无法解密第二台计算机上的数据

    我有两个应用程序 服务器和客户端 一个从一台机器运行 另一个从第二台机器运行 服务器使用 WebSocket 连接传递数据 数据在发送到客户端之前进行加密 数据使其发送到客户端应用程序正确 但我尝试使用相同的安全方法和密钥对其进行解密 但我
  • QXcbConnection:尝试使用 Qt Creator 调试 Linux 应用程序时无法连接到显示器

    我正在尝试将一组使用 Qt Creator 构建的 Windows 应用程序移植到 Linux 我已经使用 VirtualBox 在 64 位 Ubuntu 16 04 虚拟机中安装了基于 Qt 5 7 0 的 Qt Creator 4 0