QML打开GUI窗口和控制台

时间:2012-06-01 19:50:50

标签: c++ user-interface qt4 console declarative

我正在尝试使用有效的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
}

3 个答案:

答案 0 :(得分:1)

控制台用于使用QDebug();

进行调试

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

CONFIG += console
<。>在.pro文件中。

答案 1 :(得分:1)

对于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}
    #...
)

这确实使目标系统远离控制台,就像对问题的评论中提到的那样。

答案 2 :(得分:0)

对于qb,请设置属性
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
    }
}