正点原子MP157QT综合例程相关笔记
刚接触QT,原子代码用的qml,据说是界面描述语言,优点不一一列举了,就冲他对新手不友好,决定作篇笔记,初步排一下坑。
从main.c开始
main,c
line 54 \ qputenv("QT_IM_MODULE",QByteArray("qtvirtualkeyboard"));//添加环境变量
函数原型 bool qputenv(const char *varName, const QByteArray &value)
QByteArray 这个函数功能蛮多,此处应该多余,双引号已经实现了传递字符串指针的功能。qt操作字符串说明在文档有介绍,以后再看
https://doc.qt.io/qt-5/qbytearray.html#QByteArray-3
line 58 \ QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);
C++跟C语言 差别 1 析构函数 双冒号,意思是解析结构体函数,简称析构函数,说的高大上,实际就是对结构体当中的函数成员进行定义(还是声明?得推敲一下)。析构函数得看明白,不简单。
line 69 \ qmlRegisterType
qmlRegisterType 是一个可以将C++实现的类在QML中调用的,连接C++和QML的一个工具
int qmlRegisterType(const char * uri, int versionMajor, int versionMinor, const char * qmlName)
This template function registers the C++ type in the QML system with the name qmlName, in the library imported from uri having the version number composed from versionMajor and versionMinor.
Returns the QML type id.
可以看到qmlRegisterType里总共4个参数,第一个参数* uri指的是QML中import后的内容,相当于头文件名,第二个第三个参数分别是主次版本号,第四个指的是QML中类的名字。