首页 > 解决方案 > 如何确定应用程序是否在 Qt6 的 X11 平台上运行?

问题描述

我正在努力将 Qt5 应用程序移植到 Qt6。由于Qt X11 Extras模块在 Qt6 中被删除,我必须检查平台是否是X11,我该怎么做?

这就是当前实现所使用的。

 if (QX11Info::isPlatformX11())
    {
        ...
        ...
    }

我还有其他类的用例QX11Info。我该如何移植这个?我似乎没有找到任何其他解决方案。

标签: c++qtqt5qt6

解决方案


QGuiApplication::platformName() 检查应该没问题,见https://doc.qt.io/qt-6/qguiapplication.html#platformName-prop

顺便说一句,QtX11Extras 中的 QX11Info 和其他内容已移至 QtGui(开发分支,6.2),另见https://codereview.qt-project.org/c/qt/qtbase/+/348530


推荐阅读