Qml:qml写个登录

embedded/2024/9/24 3:46:20/
import QtQuick
import QtQuick.Controls
import QtQuick.Controls.Basic
/*
1 核心控件和窗口布局和登录事件处理文本说明:登录系统用户名:username密码: password登录按钮: submit登录事件处理onClicked
2 样式优化、背景渐变、图标自动替换2.1 窗口背景渐变色2.2 居中矩形设置2.3 插入图片2.4 输入框和字体颜色设置、提示文字设置2.5 动态图标插入2.6 按钮动态颜色设置
3 窗口拖动、去掉原有标题栏、做圆角窗口课拖动3.1 关闭窗口的按钮3.2 隐藏标题栏圆角窗口可拖动
4 动画事件、控件动态出现、图片转动动画4.1 控件的动态出现4.2 图片转动动画、用状态维护动画
*/
ApplicationWindow
{width: 1280height: 800visible:true //默认窗口不显示title:"login UI"id:rootflags:Qt.FramelessWindowHintcolor:  "#00000000" //背景透明property int dragX: 0property int dragY: 0property bool dragging: falseRectangle{width: parent.widthheight: parent.heightradius:10gradient:Gradient{GradientStop//开始颜色{position:0color:"#4158d0"}GradientStop//结束颜色{position:1color:"#c850c0"}orientation:Gradient.Horizontal}Rectangle{width:800height:500anchors.centerIn:parentradius:10MouseArea{width:parent.widthheight:100onPressed:{root.dragX = mouseXroot.dragY = mouseYroot.dragging = true}onReleased:root.dragging = falseonPositionChanged:{if(root.dragging){root.x+=mouseX-root.dragXroot.y+=mouseY-root.dragY}}}Image{id: imagex:57y:100source:"images/img-01.png"states:[State{name:"rotated"PropertyChanges{target:imagerotation: 180}}]transitions:Transition{RotationAnimation{duration:1000direction:RotationAnimation.Counterclockwise}}MouseArea{anchors.fill:parentonClicked:{if(image.state == "rotated"){image.state = ""}else{image.state = "rotated" }}}}Text{x:530y:130width: 120height: 30font.pixelSize:24text:qsTr("登录系统")color: "#333333"}TextField{id:usernamex:440y:200width:300height:50font.pixelSize:20placeholderText:qsTr("用户名或邮箱")placeholderTextColor:"#999999"leftPadding: 60background:Rectangle{radius:25color: "#e6e6e6"border.color: "#e6e6e6"}Image{source:username.activeFocus?"images/u2.png":"images/u1.png"width: 20height: 20x:30y: 15}NumberAnimation on y{from:username.y-100to:username.yduration:300}NumberAnimation on x{from:username.x-100to:username.xduration:300}}TextField{id:passwordx:username.xy:username.y+username.height +10width:300height:50font.pixelSize:username.font.pixelSizeechoMode:TextField.PasswordleftPadding: username.leftPaddingplaceholderText: qsTr("密码")placeholderTextColor: username.placeholderTextColor //提示词颜色color: username.color   //输入词颜色background: Rectangle{color: username.background.colorborder.color: username.background.colorradius: 25}Image{source:password.activeFocus?"images/p2.png":"images/p1.png"width: 20height: 20x:30y: 15}}Button{id:submitx:username.xy:password.y+password.height+10width:username.widthheight:username.heighttext:qsTr("登录")font.pixelSize:20onClicked:{print("登录"+username.text+":"+password.text)}background:Rectangle{radius:25color:{if(submit.down)return "#00b846"if(submit.hovered)return "#333333"return "#57b846"}}}}Rectangle{x: root.width-35y: 5width: 30height: 30color: "#00000000"Text{text: "×"font.pixelSize:28anchors.centerIn:parent}MouseArea{anchors.fill:parenthoverEnabled: trueonEntered: {parent.color = "#1BFFFFFF"}onExited: parent.color =  "#00000000"onPressed: parent.color =  "#3BFFFFFF" onReleased: parent.color =  "#1BFFFFFF" onClicked: {root.close()}}}}
}

链接

推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt


http://www.ppmy.cn/embedded/42221.html

相关文章

【EXCEL_VBA_基础知识】11 使用VBA数组

课程来源:王佩丰老师的《王佩丰学VBA视频教程》,如有侵权,请联系删除! 当循环中大量使用需多次计算表达式时,可利用数组简化并提升效率(底层逻辑:只算一次,然后结果暂存&#xff0c…

网络模型-Qinq配置与应用

Qinq配置与应用 通过配置Qinq来实现利用公网提供的VLAN100使企业1互通,利用公网提供的VLAN200使企业2互通不同企业之间互相隔离。并通过在连接其它厂商设备的接口上配置修改0in0外层VLAN Tag的TPID值,来实现与其它厂商设备的互通。 一、创建VLAN #在Swi…

【内存泄漏Bug】registerReceiver Are you missing a call to unregisterReceiver()异常分析及解决

问题描述 开发一款WIFI管理APP,再wifi列表页面注册了广播监听,监听网络变化,页面是常驻内存的,跳转到其他app或者其他页面的时候,此页面存在被系统销毁的可能。 android.app.IntentReceiverLeaked: Activity com.xx.a…

qt面试经验

目录 1.qt底层原理2.connect的第五个参数3.信号槽的原理4.qt的智能指针QPointerQSharedPointerQScopedPointerQWeakPointerQSharedDataPointerQScopedArrayPointer 5.线程6.事件监听全局事件监听某一类控件的事件监听某一个控件的事件Qt的事件循环事件与信号的区别 7.设计模式单…

RustGUI学习(iced/iced_aw)之扩展小部件(二十三):如何使用sliderbar部件来创建滑动条?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第二十三篇,主要讲述sliderbar滑动条部件的使用,…

2024 中青杯高校数学建模竞赛(B题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点?数学建模进阶思路! 作为经验丰富的数学建模团队,我们将为你带来2024 长三角高校数学建模竞赛(A题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过…

15:00面试,15:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

简单介绍十款可以免费使用的API测试工具

API开发应该是后端开发最常见的工作,而调试和测试API是非常关键的,这篇文章简单介绍几款常用的工具以供大家参考。 SoapUI SoapUI是很老牌的工具的,在之前Webservice盛行的时候经常会用到。 现在官方推出了Pro版本的ReadyAPI,但要…