当前位置: 代码迷 >> QT开发 >> Qt控制台程序,无法打开有关问题
  详细解决方案

Qt控制台程序,无法打开有关问题

热度:94   发布时间:2016-04-25 03:15:30.0
Qt控制台程序,无法打开问题。
我是初学者,写了个测试程序,在控制台输入命令行打开这个程序,却没有图形化界面。请问,是什么原因?该如何解决?
main函数如下:
#include "mainwindow.h"
#include "mainwindow2.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    if(argv[1] == "a")
    {
        MainWindow w;
        w.show();
    }
    else
    {
        mainwindow2 w2;
        w2.show();
    }

    return a.exec();
}
------解决方案--------------------
你用Qt编译器,直接运行能出现图形化界面么?
如果能出现的话,那应该是你的
    if(argv[1] == "a")
    {
        MainWindow w;
        w.show();
    }
    else
    {
        mainwindow2 w2;
        w2.show();
    }
这块        mainwindow2 w2;
        w2.show();这个有问题。你就可以这样测试下:
    //if(argv[1] == "a")
    //{
       // MainWindow w;
     //   w.show();
   // }
  //  else
 //   {
        mainwindow2 w2;
        w2.show();
 //   }
看这样有图形化界面没,应该是会没有的。
对了,你可以直接在Qt 编译器中以传命令行参数运行。
------解决方案--------------------
因为它们还没来得急显示,你就把它们干掉了!

知识点:C++ 变量的作用域和生存周期
------解决方案--------------------
另外,你这不叫Console程序,叫GUI程序
------解决方案--------------------
引用:
因为它们还没来得急显示,你就把它们干掉了!

知识点:C++ 变量的作用域和生存周期


应该是这个原因

   {
        MainWindow w;
        w.show();
    }

出来花括号实例就注销了,自然窗口就消失了。

可以把变量定义放在花括号外面。
  相关解决方案