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