【发布时间】:2013-08-01 11:57:31
【问题描述】:
我正在使用 Qt5.1,我正在尝试创建一个没有显示的 QApplication。我需要用 QPainter 绘制文本,所以我需要使用 QApplication(或 QGuiApplication),否则会出现段错误。
该应用程序在 Qt4.8 中运行良好,但在 Qt5.1 中在无头版本的 Ubuntu 中失败并出现以下错误:
“QXcbConnection:无法连接到显示器”。
在 Qt 4.8 中,我能够使用 GUIenabled = false 的以下构造函数来创建不需要显示的 QApplication:
QApplication::QApplication (int & argc, char ** argv, bool GUIenabled)
在 Qt5.1 中,QApplication 的构造函数不再具有 GUIenabled 标志。
我简单地扫描了源代码,在 QApplication 构造函数中似乎确实有一个标志,但没有记录到该标志中可以使用哪些选项。使用“false”不起作用。
如何创建没有显示的 QApplication?是否有其他方法可以告诉 QApplication GUIenabled = false?或者,我可以创建一个在 QImage 上使用 QPainter 绘制文本时不会出现段错误的 QCoreApplication 吗?
【问题讨论】:
-
我在删除 /tmp 中的文件后遇到了这个问题。