#include <QtGui/QApplication>
#include <QtDeclarative>
#include "qmlapplicationviewer.h"
int main(int argc, char **argv) {
QApplication app(argc, argv);
QmlApplicationViewer viewer;
viewer.setMainQmlFile("app/native/assets/main.qml");
viewer.showFullScreen();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
我的C++有点生疏.有人可以向我解释一下"QApplication app(argc,argv)"试图做什么?
它是否试图声明一个接受2个参数(argc和argv)并返回QApplication类型的变量的函数?
Con*_*ius 10
这条线
QApplication app(argc, argv);
Run Code Online (Sandbox Code Playgroud)
创建一个新的类型实例QApplication并调用该类的构造函数.在您的示例中,变量app现在存储此实例.它在某种程度上(语义上)是这种简写:
QApplication app = QApplication(argc, argv);
Run Code Online (Sandbox Code Playgroud)
这是 Qt Docs 的引用:
QApplication 类管理 GUI 应用程序的控制流和主要设置。
QApplication 包含主事件循环,所有来自窗口系统和其他来源的事件都在其中处理和分派。它还处理应用程序的初始化、结束并提供会话管理。此外,QApplication 处理大部分系统范围和应用程序范围的设置。
对于任何使用 Qt 的 GUI 应用程序,无论应用程序在任何给定时间是否有 0、1、2 或更多窗口,都恰好有一个 QApplication 对象。对于非 GUI Qt 应用程序,请改用 QCoreApplication,因为它不依赖于 QtGui 库。
QApplication 对象可通过 instance() 函数访问,该函数返回等效于全局 qApp 指针的指针。
所以,线
QApplication app(argc, argv);
创建 QApplication 类的实例。