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组件呢? 展开
#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组件呢? 展开
1个回答
展开全部
argc argv 这个在C/C++中都有的 argc 是参数个数 argv是参数
假如运行一个hello.exe 那么你可以在终端中传参数 例如: hello.exe str1 str2
那么,argc 为 3 , argv 的参数为 "hello.exe" ,"str1", "str2" (是字符串格式)
再看这个程序你就懂了.
exec这个函数是堵塞与不堵塞.
不堵塞: 就像你在word里面,调用查找功能,那么你既可以点击查找的菜单,
也可以对文档进行编辑. 调用这个就等于堵塞了
在你的工程里,有个 mainwindow.h 文件吧, 你点进去, 再找到#include "ui_mainwindow.h" 进去
然后你就发现了吧,你的界面文件里面的东西其实是XML格式的,然后自动生成ui_mainwindow.h .
追问
第一,argc和argv在指令行里面是可以赋值传参的。但是在这个GUI的程序里面,参数从哪里传进去的?传了什么进去?
第二,你说的这个堵塞,是操作系统里的概念吧?这个a.exec()返回值是什么呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询