当前位置:网站首页>QML初学
QML初学
2022-07-07 15:32:00 【God港】
一、新建项目
1.选择Qt Quick Application Empty
2.命名为QmlDemoa,然后全部为下一步
3.此时工程目录和演示效果
二、新建另一个组件
1.选择QtQuick UI File
这里英文打错了:component1
2.当前工程的结构
3.设计新的qml的内容我们可以直接用qml.ui进行拖拽设计
本次演示我就用代码的方式进行添加。
工程目录中生成的component.qml和component1.ui.qml两个其实都可以用,qml可以调用ui中的任意元素,如果直接在ui中拖拽,会自动生成代码在ui.qml。当然我们代码可以写在任意文件,全凭个人喜好。
三、代码
component1.qml
import QtQuick 2.4
Rectangle {
property alias mouseArea:mouseArea
property alias topRect:topRect//define the property name
width: 360
height: 360//set form's width and height
MouseArea{
id:mouseArea//name
anchors.fill: parent
}
//the first rectangle
Rectangle{
rotation:45//define the rotation angle
//set the position,size and color
x:40
y:50
width: 100
height: 100
color: "blue"
}
//the second rectangle
Rectangle{
id:topRect//id
opacity: 0.5
scale: 0.8 //scale the size
x:135
y:60
width: 100
height: 100
radius: 8
gradient: Gradient{
GradientStop{
position: 0.0;color:"yellow"}
GradientStop{
position:1.0;color: "red"}
}
border{
width: 3;color: "green"}
}
}
main.qml
import QtQuick 2.9
import QtQuick.Window 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Component1
{
}
}
四、总结
这样,一个简单的qml应用程序搭建完成,组件式开发现在事互联网很盛行的方式,曾经学习的VUE3大规模运用,好处在于耦合度较好,便于后期代码的维护,毕竟一个软件程序的声明周期,20%的时间在开发,80%的时间在维护。
五、效果图
demo下载地址:https://download.csdn.net/download/qq_38491692/85448974
边栏推荐
- Record the migration process of a project
- [hcsd celebrity live broadcast] teach the interview tips of big companies in person - brief notes
- 最新Android高级面试题汇总,Android面试题及答案
- 爬虫(17) - 面试(2) | 爬虫面试题库
- null == undefined
- 【C 语言】 题集 of Ⅹ
- typescript ts基础知识之tsconfig.json配置选项
- Three. JS series (3): porting shaders in shadertoy
- Imitate the choice of enterprise wechat conference room
- Module VI
猜你喜欢
预测——灰色预测
记录Servlet学习时的一次乱码
AutoLISP series (3): function function 3
最新高频Android面试题目分享,带你一起探究Android事件分发机制
Master this promotion path and share interview materials
如何快速检查钢网开口面积比是否符合 IPC7525
掌握这个提升路径,面试资料分享
[designmode] proxy pattern
Lowcode: four ways to help transportation companies enhance supply chain management
AutoLISP series (1): function function 1
随机推荐
偶然升职的内心独白
射线与OBB相交检测
Pisa-Proxy SQL 解析之 Lex & Yacc
Horizontal and vertical centering method and compatibility
深度监听 数组深度监听 watch
【MySql进阶】索引详解(一):索引数据页结构
LeetCode 1186. 删除一次得到子数组最大和 每日一题
AutoLISP series (3): function function 3
null == undefined
[summary of knowledge] summary of notes on using SVN in PHP
数据中台落地实施之法
编程模式-表驱动编程
How can laravel get the public path
Laravel changed the session from file saving to database saving
字节跳动高工面试,轻松入门flutter
DAPP defi NFT LP single and dual currency liquidity mining system development details and source code
应用在温度检测仪中的温度传感芯片
dapp丨defi丨nft丨lp单双币流动性挖矿系统开发详细说明及源码
在哪个期货公司开期货户最安全?
typescript ts基础知识之tsconfig.json配置选项