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

QML学习01(设置宽度、高度、坐标点、标题,信号与槽,键盘事件)

QML学习

  • 1、前言
  • 2、QML
  • 3、QML和QWidget的区别
  • 3、QtQuick下的Windows应用
  • 4、总结

1、前言

记录一下QML学习的过程,方便自己日后回顾,也可以给有需要的人提供帮助。

2、QML

QML是 Qt 框架中的一种声明式编程语言,专门用于快速设计和开发用户界面(UI)

3、QML和QWidget的区别

特性QML(Qt Quick)QWidget
实现语言QML/JavaScriptC++
动态界面流畅动画、触摸交互动画性能差,适合静态布局
适用场景现代界面、动画传统桌面应用
跨平台支持移动端(Android/iOS)、嵌入式主要支持桌面端(Windows/macOS/Linux)
复杂性需与C++后端结合直接通过C++实现
开发效率快速迭代,适合UI密集型项目编码量大,适合逻辑密集型项目

3、QtQuick下的Windows应用

主要讲QML在Windws下如何设置宽度,高度,坐标点,标题,信号与槽,键盘事件
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
Window {    //root控件    父窗口是主界面visible: truewidth: 640height: 480title: qsTr("My QML")signal mysignal()       //信号property int myValue: 0minimumWidth: 300       //最小宽度minimumHeight: 400      //最小高度maximumWidth: 700       //最大宽度maximumHeight: 600      //最大高度opacity: 0.8       //不透明度0-1//触发信号,名称第一个字母要大写onMysignal: {}//改变宽度,也会触发槽函数onWidthChanged: {console.log("width",width)}//自动生成属性修改槽函数onMyValueChanged: {}//按钮1Button {id:btn1focus: trueobjectName: "btn1"width: 50height: 50background: Rectangle{border.color: btn1.focus ? "blue" : "back"}//点击事件onClicked: {console.log("btn1 clicked");}//键盘事件//按下键盘右键,焦点移动到btn2上Keys.onRightPressed: {btn2.focus = true;}}//按钮2Button {id:btn2x:100objectName: "btn2"width: 50height: 50background: Rectangle{border.color: btn2.focus ? "blue" : "back"}onClicked: {console.log("btn2 clicked");}//键盘事件//按下键盘左键,焦点移动到btn2上Keys.onLeftPressed: {btn1.focus = true;}}//控件焦点onActiveFocusItemChanged: {console.log("active focus item changed",activeFocusItem,"object name",activeFocusItem.objectName)}
}

4、总结

以上就是QML的一些基础知识了,后续还会继续更新,浏览过程中,如若发现错误,欢迎大家指正,有问题的欢迎评论区留言或者私信。最后,如果大家觉得有所帮助,可以点一下赞,谢谢大家!祝大家天天开心,顺遂无虞!

相关文章:

  • 网页渲染的两条赛道
  • 【高斯拟合】不用库手写高斯拟合算法:从最小二乘到拟合参数推导
  • 牛客网NC22012:判断闰年问题详解
  • [c语言日寄]数据结构:栈
  • RAGFlow 中的 Rerank 和 Recall 解释
  • 大数据架构选型全景指南:核心架构对比与实战案例 解析
  • 吊舱热敏传感器抗干扰技术分析!
  • mysqlbinlog用法详解
  • AI数字人融合VR全景:从技术突破到可信场景落地
  • LeetCode 235. 二叉搜索树的最近公共祖先 LeetCode 701.二叉搜索树中的插入操作 LeetCode 450.删除二叉搜索树中的节点
  • Logistics | Days of Inventory vs. Stock Days 【待续】
  • 射击游戏demo11
  • 打破传统束缚:Captiks 无线惯性动捕与步态分析系统如何重新定义运动测量?
  • QMK键盘固件旋钮编码器(Encoder)配置详解(实操部分)
  • 气动排渣煤粉炉专用V型球阀——法兰连接耐磨阀门生产厂家解析-耀圣
  • 基于大模型预测围术期麻醉苏醒时间的技术方案
  • PADS 9.5安装教程
  • Python爬虫入门
  • SQL注入---05--跨站注入
  • 75.xilinx复数乘法器IP核调试
  • 上海老字号卖黄金,与动漫IP联名两周销售额近亿元
  • 北方将现今年首场大范围高温天气,山西河南山东陕西局地可超40℃
  • 一涉嫌开设赌场的网上在逃人员在山东威海落网
  • 董军在第六届联合国维和部长级会议上作大会发言
  • 丹麦外交大臣拉斯穆森将访华
  • 男子不满和睦家医院手术效果还遇到了“冒牌医生”?院方回应