Qt5打开带有gui应用程序的控制台

时间:2013-12-10 14:58:48

标签: windows visual-studio qt console

我在Windows上使用Qt5.2(git)和MSVC13。如果我构建任何应用程序(甚至是模板),它总是在cmd.exe窗口中打开。我尝试了不同的Qt版本和不同的编译器(甚至是MinGW),但我总是遇到同样的问题。 但是,如果我使用QtDesigner中的绿色播放按钮启动应用程序,它将在没有cmd窗口的情况下打开。 正如建议here我尝试“CONFIG - = console”没有效果。我也不使用testlib。 在我的qmake.conf中,我看到“QMAKE_LFLAGS_WINDOWS = / SUBSYSTEM:WINDOWS”这一行

这取决于我放在应用程序目录中的dll文件吗? QtDesigner不会将任何dll复制到build文件夹,但它会设置一些环境变量。要从单独的文件夹运行应用程序,我将相应的dll从Qt lib文件夹复制到application exe文件夹中。

对这种奇怪行为的任何想法?

3 个答案:

答案 0 :(得分:2)

在MSVC 2013中,转到项目属性/链接器并从以下位置更改:

/SUBSYSTEM:CONSOLE

要:

/SUBSYSTEM:WINDOWS

它对我有用。

TODO

答案 1 :(得分:2)

好的,这需要一段时间,但我终于找到了解决方案: Hide console of Windows Application

我不得不更换主入口函数:

替换以下代码:

int main(int argc, char *argv[])
{
     QApplication app(argc, argv);
     // your code*
}

通过

int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char*, int nShowCmd)
{
    int argc = 0;
    QApplication app( argc, 0 );
 }

谢谢大家!

答案 2 :(得分:0)

是否选中了run in terminal复选框?

enter image description here