作为一个软件工程师,编写一个好的软件最关键的地方就是程序的架构,又或者叫框架。如果框架没搭建好,那么后期维护,或者更改功能,就显得非常困难,这就是我在这里要记录的。
qml作为qt除widgets的又一种ui设计语言,给我们编写出更加炫酷的软件提供了基础。但新的东西出来总是有很多人摸索不到门路,或者走很多弯路,下面我们就来说说:
QML提供了很多方法来动态创建和管理QML对象。如Loader、RePeater、ListView、GridView和PathView等元素都支持动态对象管理。对象也可以在C++中被创建和管理,这是混合QML/C++应用程序的首选方式。QML也支持在JavaScript代码中动态创建对象,这在现有的QML元素不适合应用程序需要的情况下是很有用的,而且也不需要涉及C++组件。
qml编程必然是一个混合编程,很少有人能做到纯qml编程,因为有很多功能还是必须依靠c++,这就涉及到了框架问题;
我们下面来看一个程序的简单界面:
下方是我们程序的导航栏,主要有退出,设置,用户,主页面,打印,键盘等,
我们在编写这个程序的时候,将这几个模块分开由三个人写,最终如何能合并在一起成为一个程序,这就是框架的重要性了,
我们为没一个页面写一个pri项目管理文件,和一个pro个人工程文件,写的人在完成pro文件后,在将工程转为pri,添加到主程序框架中,所有的功能可以独立运行,也可以合并到主程序中运行。
下面贴出main的代码:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QApplication>
#include <QDir>
#include <QFile>
#include <QTextStream>
#include <QDateTime>
#include <QtMessageHandler>
#include <QThread>
#include <thread>
#include <QFontDatabase>
#include <QQmlContext>
#include <QQuickImageProvider>
#include <qDebug>
#include "base/common/uta