3

我正在尝试获得一个有效的 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
}
4

3 回答 3

6

对于 CMake 用户。

对于 Windows 的 MSVC 和 MinGW 构建,我遇到了这些问题。(即使不是从 IDE 启动。)

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

if (WIN32)
    set(WIN32_ON_OFF_SWITCH "WIN32")
else ()
    set(WIN32_ON_OFF_SWITCH "")
endif ()

add_executable(SomeExe
    ${WIN32_ON_OFF_SWITCH}
    #...
)

正如对问题的评论中提到的那样,这正是使目标系统远离控制台。

于 2017-01-21T14:34:11.337 回答
1

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

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

CONFIG += console

在您的 .pro 文件中。

于 2012-06-01T20:24:59.410 回答
1

对于 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
    }
}
于 2018-07-19T03:16:50.297 回答