使用 QT-=gui 时替代 QImage
Posted
技术标签:
【中文标题】使用 QT-=gui 时替代 QImage【英文标题】:Alternative to QImage when using QT-=gui 【发布时间】:2017-06-05 20:52:37 【问题描述】:QImage 有很多不错的图像文件 I/O 功能
但是,如果你需要编译一个命令行应用程序在linux服务器上运行(特别是没有X),你需要用QT-=gui
编译,这意味着没有QImage,(也没有QVector3d,也没有QMatrix4x4)其他的,我真的不明白为什么这些基本数据类型具有 GUI 依赖性)。我真的必须在 GUI 和非 GUI 应用程序中使用单独的库来处理图像文件,还是我缺少什么?
这是 Qt 5.4.2。可执行文件无法以以下方式开始:
QXcbConnection: Could not connect to display
【问题讨论】:
你用的是qt4还是qt5? 你为什么放 QT - = gui ?,这并不意味着你要创建一个 GUI。 @eyllanesc 感谢您的提示。我的误解是 QtGUI dll 依赖项在启动时导致 QXcbConnection 错误。事实上,这只是部分正确 【参考方案1】:我在这里遇到了一个解决方案:
Qt 5.1 QApplication Without Display - QXcbConnection: Could not connect to display
TL;DR,只要在运行时将-platform offscreen
添加到程序参数中,您就可以在无头实例上运行 Qt 应用程序(无需运行 X)
即使您为基本数据类型链接到 QtGUI 和 QtOpenGL 也可以这样做
【讨论】:
您也可以使用-platform minimal
或将QImage
和相关文件(包括painter)复制到您的项目中并直接使用它们。只有几十个文件。以上是关于使用 QT-=gui 时替代 QImage的主要内容,如果未能解决你的问题,请参考以下文章