1

我试图用 QOpenGLWidget 类(Qt6)做一些测试,我写了以下 main.cpp:

#include <QApplication>
#include <QOpenGLWidget>

int main(int argc, char* argv[]) {
    QApplication app(argc, argv);

    QOpenGLWidget win(nullptr);
    win.show();

    return app.exec();
}

但是,在 ubuntu/wayland 上执行时,出现以下错误:

The Wayland connection experienced a fatal error: Protocol error

如果我设置以下环境变量,则可以正常工作(显示黑色窗口):

QT_QPA_PLATFORM=xcb

我是否需要设置一些额外的设置才能让它在原生的 Wayland 上运行?还是我的系统配置有问题?

我正在用 cmake 构建:

cmake_minimum_required(VERSION 3.13)
project(FirstQtWindow)

find_package(OpenGL REQUIRED)
find_package(Qt6 COMPONENTS Gui OpenGLWidgets)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

add_executable(first-qt-window
    main.cpp)

target_link_libraries(
    first-qt-window
    PUBLIC
        OpenGL::GLU
        Qt6::Core
        Qt6::OpenGLWidgets)
4

0 回答 0