QML 打开 GUI 窗口和控制台

QML opens GUI window and console

本文关键字:控制台 窗口 GUI 打开 QML      更新时间:2023-10-16

我正在尝试获取一个有效的QML应用程序。一切都很好,除了当我运行我的应用程序时,它会打开 QML 窗口,但也打开一个控制台窗口。为什么?这是代码:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QDeclarativeView view;
    view.setSource(QUrl::fromLocalFile("myfile.qml"));
    view.show();
    return app.exec();
}
Rectangle {
    width: 940
    height: 670
    color: red
}

对于 CMake 用户。

MSVC和MinGW的Windows版本遇到了问题。(即使不是从 IDE 开始。

解决方案是CMakeLists中的以下行:

if (WIN32)
    set(WIN32_ON_OFF_SWITCH "WIN32")
else ()
    set(WIN32_ON_OFF_SWITCH "")
endif ()
add_executable(SomeExe
    ${WIN32_ON_OFF_SWITCH}
    #...
)

这恰好使目标系统远离控制台,如问题评论中所述。

控制台用于使用 QDebug() 进行调试;

您可以通过删除以下行来禁用它:

CONFIG += console

在您的 .pro 文件中。

对于 qbs 设置属性

consoleApplication: false为您的应用。例如:

    Application {
    // consoleApplication: false // permanently disable the console for the application
    Properties {
        condition: qbs.buildVariant == "debug"
        consoleApplication: true //show console
    }
    Properties {
        condition: qbs.buildVariant == "release"
        consoleApplication: false //hide console
    }
}