起因
由于非正规计算机专业毕业,缺乏系统的计算机知识学习,虽然课余也自己进行补充学习,但一味地学习而不实践往往记忆较为肤浅,于是想通过一些不断地训练提高自己的编程技能。寻找后发现Qt自带的例子都比较简短却能够突出很多知识点,遂进行学习:
开始学习
从第一个开始选择enginio qml todos
分析该示例作用:
主要是帮助学习qml的使用并搭配enginio的使用。enginio使用先忽略,牵涉到的比较少,具体用到再细细分析。
分析主程序:
int main(int argc, char* argv[])
{
QGuiApplication app(argc,argv);
QQuickView view;
const QString appPath = QCoreApplication::applicationDirPath();
// This allows starting the example without previously defining QML2_IMPORT_PATH.
QDir qmlImportDir(appPath);
#if defined (Q_OS_WIN)
qmlImportDir.cd("..");
#endif
qmlImportDir.cd("../../../qml");
view.engine()->addImportPath(qmlImportDir.canonicalPath());
QObject::connect(view.engine(), SIGNAL(quit()), &app, SLOT(quit()));
BackendHelperContext *backendContext = new BackendHelperContext(&view);
view.engine()->rootContext()->setContextProperty("enginioBackendContext", backendContext);
view.setSource(QUrl("qrc:///" ENGINIO_SAMPLE_NAME ".qml"));
view.setResizeMode(QQuickView::SizeRootObjectToVi