• 13863阅读
  • 8回复

[提问]QT控制台程序中如何可以创建一个对话框界面--已解决 [复制链接]

上一主题 下一主题
离线gym345600
 

只看楼主 倒序阅读 楼主  发表于: 2013-11-19
我是一个QT新手,QT控制台程序中如何可以创建一个对话框界面
  1. #include <QCoreApplication>
  2. int main(int argc, char *argv[])
  3. {
  4.     QCoreApplication a(argc, argv);
  5.     
  6.     return a.exec();
  7. }
如,我创建的是一个控制台工程,在这个工程中我想再添加一些对话框之类的GUI界面类,方便操作,我试过了,老是提示编译报错,


这些都是向导生成的文件,不清楚关键问题点是在哪里,
请高手帮忙解答一下,非常感谢
离线渡世白玉

只看该作者 1楼 发表于: 2013-11-19
#include <QApplication>

把pro文件中-= gui 改成+=gui
然后加上:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
离线渡世白玉

只看该作者 2楼 发表于: 2013-11-19
最好还是直接建立GUI程序吧、需要看控制台输出的就用qDebug()输出到qt-creator的控制台、、
离线gym345600

只看该作者 3楼 发表于: 2013-11-25
回 1楼(渡世白玉) 的帖子
问题已解决,不过有一点要补充一下,建立console工程时向导生成的起始代码是:
QCoreApplicationa(argc, argv);
也要改成
QApplication a(argc, argv);

不然的话无法调出GUI界面,QApplication应该是QApplication初始化了GUI需要的相关数据;

最后,非常感谢您的指点!
离线gym345600

只看该作者 4楼 发表于: 2013-11-25
回 2楼(渡世白玉) 的帖子
没办法,这个是要在其它程序上面做二次开发,必须得console程序,这个问题解决了,后面的工作就可以放心的展开了
离线dbzhang800

只看该作者 5楼 发表于: 2013-11-26
你上面的做法等同于 创建一个GUI程序,而后在.pro文件内添加一行

CONFIG+= console
离线gym345600

只看该作者 6楼 发表于: 2013-12-03
引用第5楼dbzhang800于2013-11-26 09:04发表的  :
你上面的做法等同于 创建一个GUI程序,而后在.pro文件内添加一行
CONFIG+= console

我试了,真的可以,不过这种方式在IDE环境中运行程序弹不出后面的小Dos窗口,今天我用PEiD工具查看了一下,确实是console程序,单独运行程序就有那个小Dos窗口了,我以前好像也试过这个方法就是因为是在IDE中运行的,所以以为不是console程序.
还没有彻底摸透Qt里面的运行机制,得慢慢调理调理......



非常感谢您的提醒!
离线dbzhang800

只看该作者 7楼 发表于: 2013-12-03
控制台程序 和 Qt没有关系,它是Windows特有的一种东西。(Windows有两套链接子系统,一套console,一套windows,由链接器选项控制)

至于你提到的IDE的问题,是因为在Project/Run设置中有一个 "Run in Terminal" 选项。默认值依赖于你是否创建的console程序,可以随时调整。
离线gym345600

只看该作者 8楼 发表于: 2013-12-08
回 7楼(dbzhang800) 的帖子
受益匪浅啊,进一步了解了IDE的工程选项配置问题
快速回复
限100 字节
 
上一个 下一个