Qt GUI菜鸟的问题,请Qt高手通俗地解答

下面是一段简单的程序代码:#include"QWidget"#include<QApplication>intmain(intargc,char*argv[]){QApp... 下面是一段简单的程序代码:
#include "QWidget"
#include <QApplication>
int main(int argc, char *argv[])

{
QApplication a(argc, argv);
QWidget w;
w.show();
return a.exec();

}
这段代码执行后,会产生一个空的窗口。但是main函数的两个参数argc和argv,我没有往里面传递啊?在命令行下面该怎么执行呢??
还有就是,a.exec()这一行有什么作用呢?对象a又如何知道我定义了哪些GUI组件呢?
展开
 我来答
wodeshow119
2015-04-17 · TA获得超过426个赞
知道小有建树答主
回答量:349
采纳率:87%
帮助的人:210万
展开全部
  1. argc argv  这个在C/C++中都有的  argc 是参数个数   argv是参数

    假如运行一个hello.exe   那么你可以在终端中传参数  例如:  hello.exe str1 str2

    那么,argc 为 3 , argv 的参数为 "hello.exe" ,"str1", "str2" (是字符串格式)

    再看这个程序你就懂了.

  2. exec这个函数是堵塞与不堵塞.

    不堵塞: 就像你在word里面,调用查找功能,那么你既可以点击查找的菜单,

    也可以对文档进行编辑. 调用这个就等于堵塞了

  3. 在你的工程里,有个 mainwindow.h 文件吧, 你点进去, 再找到#include "ui_mainwindow.h" 进去

    然后你就发现了吧,你的界面文件里面的东西其实是XML格式的,然后自动生成ui_mainwindow.h .


追问
第一,argc和argv在指令行里面是可以赋值传参的。但是在这个GUI的程序里面,参数从哪里传进去的?传了什么进去?
第二,你说的这个堵塞,是操作系统里的概念吧?这个a.exec()返回值是什么呢?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式