应用程序结构分析和“hello world!

1. Qt Quick 应用程序结构分析

一个最简单的hello world程序的基本结构和大型工程基本一样,具体main.cc代码如下(系统自动生成的)。一般分为7步:

 

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
//步骤1:QT命令行解析、Qt全局的初始化工作等
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

//步骤2. QGuiApplication
//QT QUICK 创造一个应用APP实例
QGuiApplication app(argc, argv);
//QWidgets 创造一个应用APP实例
//QApplication app(argc, argv);

//步骤3.QQmlApplicationEngine (QML Context)
//会初始化我们的QML上下文环境
QQmlApplicationEngine engine;

//步骤4 load main.qml
//步骤5 create Window
//步骤6 load Items
//加载main.qml 在main.qml会创建一个Window, Window中加载很多Items
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;

//步骤7 exec()
return app.exec();
}

 

 

2. QML初识

初步认识,“Hello world!”外增加了部分属性。在步骤5后,create Window,再加载Items

 

//import 类似于 include
//Item、Text
import QtQuick 2.11
//Window、ApplicationWindows
import QtQuick.Window 2.11
//btn
import QtQuick.Controls 1.2

//根对象 主QML
Window {
visible: true //可见
width: 500 //总宽
height: 200 //总高
title: qsTr("First Note") //标题

//中间对象 “Text"
Text{
id: txt;
anchors.centerIn: parent; //处在Window中央
text: "Hello World!"; //国际惯例,“Hello world!”
}

//鼠标覆盖后触发
MouseArea{
anchors.fill: parent; //覆盖区域为整个父类
onClicked: { //鼠标点击触发
txt.text = "mouse click"; //改变父类文字,不能改变id和只读的属性
}
}
}

 


————————————————
原文链接:https://blog.csdn.net/qq_16504163/article/details/104806783

posted @   imxiangzi  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示