C++的Qt项目,QApplication a(argc,argv);这行语句啥意思?如下

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{

QApplication a(argc, argv);//对象a构造函数接收一个整数,一个数组指针,对象a有什么用,俩参数代表啥?

MainWindow w;//这是个窗口对象,我懂

w.show();//显示窗口

return a.exec();//又把上面的a的成员函数返回了,exec()啥作用?
}

问题来了:
QApplication有什么用,俩参数argc, argv代表什么,还有它的成员函数exec()有什么用?
如有我不理解的,请指出我缺的语法知识点。

Argc和argv是从命令行传入的参数。

例如,如果输入命令CP文件,C在Linux中,argc=3 argv是上述行中的字符串数组。

a.Exec()是程序进程的开始,命令:CP file。C file1。参数argc=3表示有三个命令。字符串数组指针argv指向整个命令“CP file”.C file1.C”。

QApplication只能通过输入命令激活和使用。也可以单击该命令或进行其他操作。

扩展资料:

Qt的优势

1、良的跨平台特性:

Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。

2、面向对象

Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。

3、丰富的 API

Qt 包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-07
看来你是刚开始学。
对于QT这样的图形编程来说,一般都是逻辑绘图分离的,QApplication代表一个程序,Window代表一个窗口。一个程序可以有多个窗口。
argc和argv是命令行传进去的参数。比如linux里输入一个命令
cp file.c file1.c
那么argc=3 argv就是上面那行字符串数组。
因为图形编程有时也需要从命令行传递参数给程序,所以才会有argc和argv。

a.exec()就是程序进程开始运行。追问

命令:cp file.c file1.c
参数argc=3,代表有三条命令,字符串数组指针argv指向整条命令“cp file.c file1.c”,
只有输入命令,QApplication才能被激活使用,命令也可以是点击鼠标什么的吧,这样理解对吗。

本回答被提问者和网友采纳
相似回答