【发布时间】:2020-05-11 14:58:30
【问题描述】:
在非 GUI 环境中使用 QPainter 可能很有用。在(网络)服务器上生成 PDF。
但是QPainter 依赖于QGuiApplication,这会导致运行时错误:
qt.qpa.screen: QXcbConnection: 无法连接到显示器 无法连接到任何 X 显示器。
如何在非 GUI 环境中使用QPainter(没有可用的输出屏幕)?
【问题讨论】:
在非 GUI 环境中使用 QPainter 可能很有用。在(网络)服务器上生成 PDF。
但是QPainter 依赖于QGuiApplication,这会导致运行时错误:
qt.qpa.screen: QXcbConnection: 无法连接到显示器 无法连接到任何 X 显示器。
如何在非 GUI 环境中使用QPainter(没有可用的输出屏幕)?
【问题讨论】:
您应该使用以下命令行参数启动您的应用程序:-platform minimal:
minimal 是为想要编写自己的平台插件的开发人员提供的示例。但是,您可以使用该插件在没有 GUI 的环境(例如服务器)中运行 GUI 应用程序。
请注意,-platform offscreen 似乎需要支持字体,即绘制文本,否则会显示黑色方块而不是实际文本。
进一步阅读和参考
【讨论】: