【发布时间】:2021-06-30 15:26:58
【问题描述】:
我正在努力将 Qt5 应用程序移植到 Qt6。由于Qt6中删除了Qt X11 Extras模块,我必须检查平台是否为X11,我该怎么做?
这是当前实现所使用的。
if (QX11Info::isPlatformX11())
{
...
...
}
我还有 QX11Info 类的其他用例。我该如何移植这个?我似乎没有找到任何其他解决方案。
【问题讨论】:
-
可能跑题了,但是...请问您为什么需要
QX11Info?您使用什么特定功能? -
@G.M.该代码使用它查找系统上设置的 ICC 监视器配置文件。代码具体使用
QX11Info::display()、QX11Info::appScreenQX11Info::appRootWindow() -
它只使用
if(QGuiApplication::platformName() == QLatin1String("xcb")){},这实际上就是该函数在Qt5中所做的。 code.qt.io/cgit/qt/qtx11extras.git/tree/src/x11extras/…