当前位置: 首页 > news >正文

QT6学习第五天 第一个QT Quick程序

QT6学习第五天 第一个QT Quick程序

  • 概述
    • 创建Qt Quick程序
    • 使用Qt资源文件

概述

如果将程序的用户界面成为前端,程序的数据存储和逻辑业务成为后端,那么传统QT Widgets程序的前后端都是用C++完成的。对于现代软件开发而言,前端演化速度远快于后端。当要改变界面或重新开发界面时,很难快速只针对前端来开发。
而QT Quick提供了一个适合于开发用户界面的声明式环境。在这里,可以向HTML代码一样声明界面,后端依然使用C++代码。这种设计使得程序的前后端分离,可以分别演化。
QT Quick程序可以同时包含QML和C++代码。可以部署到移动或桌面平台。
在Qt Creator 中,这种项目叫Qt Quick Application。

创建Qt Quick程序

  • 新建项目,命名helloworld,这里它默认构建系统为CMake,我也没看见哪里能改。
    在这里插入图片描述
    CMake是一组可以进行构建、测试和打包程序的工具集,它可以在所有主要开发平台上使用,并被多中IDE支持,可以很好的简化跨平台项目的构建过程。QT6中CMake得到了很好的支持,可以自己学习下CMake知识。

因为我看的这本书里用的qmake,所以还得从创建空项目开始,烦死了!

  • 我们创建一个空项目,命名helloworld,然后在pro文件中添加 QT += quick

  • 添加 main.qml 文件。
    在这里插入图片描述

  • 修改 main.qml 文件
    QML代码文件以 .qml 作为后缀,QML是代码语言。

import QtQuick 2.15//window对象用来创建一个顶层窗口
Window{//设置宽高width:640height:480//设置可显示,默认不显示visible:true//设置标题,qsTr() 转换字符,使各种字符都可显示title:qsTr("Hello World!")//Text对象,显示一个字符串Text{id:text1text:qsTr("Hello World! 你好哈哈哈!")//位置放到窗口中心anchors.centerIn:parent}
}
  • 添加 main.cpp 文件,并添加代码
#include <QGuiApplication>
#include <QQmlApplicationEngine>//此次主要功能是加载 QML 文件
int main(int argc,char *argv[]){//创建 QGui 应用,和Qwidget应用一样QGuiApplication app(argc,argv);//创建 QQmlApplicationEngine 对象,可加载 QML 文件QQmlApplicationEngine engine;//load() 加载 QML 文件engine.load(QUrl::fromLocalFile("../../main.qml"));return app.exec();
}

运行看看吧

使用Qt资源文件

http://www.lryc.cn/news/492512.html

相关文章:

  • 【开发商城系统】
  • (11)(2.2) BLHeli32 and BLHeli_S ESCs(二)
  • C++ 11重点总结1
  • 海康VsionMaster学习笔记(学习工具+思路)
  • 基于Python语言的Web爬虫设计源码
  • 学习日志 --A5rZ
  • JVM_垃圾收集器详解
  • Javascript Insights: Visualizing Var, Let, And Const In 2024
  • KL散度改写为一个可用于优化的形式
  • Java代码操作Zookeeper(使用 Apache Curator 库)
  • 【Linux】Make/Makefile
  • C++练级计划->《多态》虚函数表,菱形继承多态
  • OkHttp3 - 2. OkHttp的核心组件与架构
  • 异或操作解决一些问题
  • 操作系统之输入输出
  • Centos 安装 Node.js 和 npm
  • C语言——指针初阶(一)
  • React Native 原生开发指南
  • 【前端】JavaScript中的柯里化(Currying)详解及实现
  • 解决 docker 部署 vsftpd 速度慢问题
  • Java基础夯实——2.9 多线程如何共享数据
  • 【Leetcode Top 100】234. 回文链表
  • GitLab指定用户分配合并权限
  • 五,[GXYCTF2019]Ping Ping Ping1
  • 基于STM32的智能无人机自主飞行与目标识别系统设计
  • C 语言数组与函数:核心要点深度剖析与高效编程秘籍
  • 汽车轮毂结构分析有哪些?国产3D仿真分析实现静力学+模态分析
  • 解决jupyter notebook 新建或打开.ipynb 报500 : Internal Server Error(涉及jinja2兼容性问题)
  • 【若依ruoyi Vue前端线上个人服务器部署】以及常见报错问题解决
  • Python学习第十天--处理CSV文件和JSON数据