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

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:640
    height:480
    //设置可显示,默认不显示
    visible:true
    //设置标题,qsTr() 转换字符,使各种字符都可显示
    title:qsTr("Hello World!")

    //Text对象,显示一个字符串
    Text{
        id:text1
        text: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.kler.cn/a/412467.html

相关文章:

  • Spring Bean初始化流程
  • 【微服务】Nacos
  • MyBatis框架-动态SQL-XML中的常用标签+特殊字符在XML中的显示
  • sunshine和moonlight串流网络丢失帧高的问题(局域网)
  • Spring |(五)IoC/DI的注解开发
  • idea怎么打开两个窗口,运行两个项目
  • Web登录页面设计
  • 复合查询和内外连接
  • opengl 三角形
  • 【VIM编辑器】vim简单使用方法
  • 贪心-哈夫曼树——acwing
  • 【智能制造-45】汽车SE分析
  • TCP三次握手与四次挥手(TCP重传机制,2MSL)超详细!!!计算机网络
  • Linux环境下Ollama安装报错: Error: xxx: permission denied
  • Python数据分析(OpenCV)
  • DAMODEL丹摩 | 关于我部署与使用FLUX.1+ComfyUI生成了一位三只手的jk美少女这回事
  • 11月26日星期二今日早报简报微语报早读
  • 计算机网络之应用层协议HTTP
  • 微信小程序罗盘抖动问题
  • “蜀道山”高校联合公益赛 Web (部分)
  • 11.27作业
  • UE5.5:MetaHuman语音转口型
  • 前端JavaScript(一)---基本介绍
  • 虚拟地址空间与物理内存(Linux系统)
  • Jenkins升级到最新版本后无法启动
  • 解决docker不加载 /etc/docker/daemon.json文件的问题