当前位置:网站首页>QML学习 第一天
QML学习 第一天
2022-06-12 11:43:00 【波雅_汉库克】
目录
注意:使用VS2022开发QML的时候既是写错了属性VS是不会报错的,但是软件就是运行不起来.所以使用vs开发qml一定注意qml的属性一定要检查是否正确.
创建QML,我使用的环境是win10系统,VS2022+Qt6.2学习QML.
环境搭建不说了,其实很好搭建网上有很多关于搭建的方法.
创建一个demo:
打开VS2022


选择自己的存储路径已经项目名称:

接下来配置Qt

选择编译环境:
我这里选择vs2019 debug版的

运行一下:

基本的已经创建完成了.
接下来学习QML中的知识了.之前看过一点,个人个人觉得跟WPF比较类似.感觉比较亲切.不知道以后好不好学.
QML知识:
import QtQuick 2.9
import QtQuick.Window 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
}这个就是QML创建时候的默认代码
代码中的这个Window就是运行后的窗口,其中有几个属性.
第一个属性就是是否可见属性, visible 如果设置为true即为可见,false既是代码在运行也不会出现窗口.
height和width是设置窗口的高度和宽度的.
title属性是设置窗口的标题的.
import QtQuick 2.9
import QtQuick.Window 2.2
Window {//root 控件,相当于主界面
visible: true
width: 640
height: 480
x:50
y:60 //相对于父控件
title: qsTr("My QML")
}代码段中的x和y属性是设置软件从哪里显示的.现在软件是从(50,60)这个坐标开始显示.相对于window这个控件,window就是显示器坐标.
要是其他空间的x和y就是相对于其他控件的位置.
显示器坐标是以左上角为原点,大概是这样的.

限制窗口大小
minimumWidth: 400
minimumHeight: 300
maximumWidth: 800
maximumHeight: 500注意:使用VS2022开发QML的时候既是写错了属性VS是不会报错的,但是软件就是运行不起来.所以使用vs开发qml一定注意qml的属性一定要检查是否正确.
color:"#FF00FF"
opacity:0.5color是设置窗体的颜色的
opacity是设置窗体透明度的

在QML中定义信号槽:
在qml中自定义信号:signal mySig()
这就是一个信号,mySig就是一个信号;
槽函数:
onMySig:{
}
其中前面的on和M一定要大写.
import QtQuick 2.9
import QtQuick.Window 2.2
Window {
visible: true
width: 600
height: 400
minimumWidth: 400
minimumHeight: 300
maximumWidth: 800
maximumHeight: 500
color:"#FF00FF"
opacity:0.5
title: qsTr("My QML")
signal mySig()
onMySig:{
}
} Button{
id:btn1
width:50
height:50
focus:true
objectName:"btn1"
background:Rectangle{
border.color:btn1.focus?"blue":"black"
}
onClicked:{
console.log("btn1 clicked")
}
Keys.onRightPressed:{
btn2.foucs = true
}
}
Button{
id:btn2
width:50
height:50
x: 100
objectName:"btn2"
background:Rectangle{
border.color:btn2.focus?"blue":"black"
}
onClicked:{
console.log("btn2 clicked")
}
Keys.onLeftPressed:{
btn1.foucs = true
}
}这是添加button空间:import QtQuick.Controls 2.3需要添加
onClicked:{
console.log("btn1 clicked")
}这个就是系统槽函数.
边栏推荐
- Process creation and recycling
- Design of virtual scrolling list
- ARM指令集之Load/Store指令寻址方式(一)
- Go sends SMS based on alicloud
- JS to load and display Excel files
- postman传入list
- Problems in cross validation code of 10% discount
- Socket implements TCP communication flow
- C# 35. 选择默认网卡
- Arm cross compilation chain download address
猜你喜欢

Pytorch笔记

QT based travel query and simulation system

Mysql45 lecture 01 | infrastructure: how is an SQL query executed?

C# 35. Select default network card
![[Blue Bridge Cup SCM 11th National race]](/img/da/3c8a9efd5b28f67816f239531a0339.png)
[Blue Bridge Cup SCM 11th National race]

Socket implements TCP communication flow

VirtualBox virtual machine shut down due to abnormal system. The virtual machine startup item is missing

正则表达式 | 浅解

Unity 连接 Microsoft SQLSERVER 数据库

MySQL - built in function
随机推荐
Lambda and filter, List 和 numpy array的索引,以及各种距离指标distance-metrics,拼接数组以及axis=0 and axis=1的区分
35. search insertion position
Arm cross compilation chain download address
Video JS library uses custom components
Lambda and filter, index of list and numpy array, as well as various distance metrics, concatenated array and distinction between axis=0 and axis=1
Basic principle of Doppler effect
Relation entre les classes et à l'intérieur des classes de classification vidéo - - Régularisation
B.刷墙(C语言)
正则表达式 | 浅解
視頻分類的類間和類內關系——正則化
FPGA Development - Hello_ World routine
Go sends SMS based on alicloud
ARM指令集之Load/Store访存指令(二)
Promise controls the number of concurrent requests
890. find and replace mode
A.前缀极差
Byte order (network / host) conversion
Drqueueonrails integrated LDAP authentication
Byte order - how to judge the big end and the small end
Pessimistic lock and optimistic lock of MySQL