032-第三代软件开发-Popup弹窗

头图

第三代软件开发-Popup弹窗

文章目录

  • 第三代软件开发-Popup弹窗
    • 项目介绍
    • Popup弹窗
      • 官方示例
      • 项目中的代码
    • 之前写过一个Popup
    • 抄抄别人的
      • dim
      • visible 和 Open 区别
    • 与 Dialog有啥区别
    • 其他
    • 总结一下

关键字: QtQmlPopup弹窗modal

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏在第三代软开发更新完将涨价

Popup弹窗

在QML中,Popup是一种用于显示临时信息、菜单或对话框的元素。它通常用于需要在屏幕上显示短暂内容或与用户进行交互的场景。

image-20230729120924285

官方示例

 import QtQuick.Window 2.2import QtQuick.Controls 2.12ApplicationWindow {id: windowwidth: 400height: 400visible: trueButton {text: "Open"onClicked: popup.open()}Popup {id: popupx: 100y: 100width: 200height: 300modal: truefocus: trueclosePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent}}

这段代码是一个基于QtQuick框架的QML代码,用于创建一个简单的应用程序窗口(ApplicationWindow)和一个弹出窗口(Popup)。

首先,导入了QtQuick.WindowQtQuick.Controls模块,分别用于创建窗口和控件。

接下来,创建了一个应用程序窗口,并指定了其宽度(width)和高度(height)为400。visible属性设置为true,使窗口可见。

在应用程序窗口中,添加了一个按钮(Button)作为子元素。按钮的文本(text)设置为"Open",表示按钮上显示的文本内容。当按钮被点击(onClicked事件)时,调用popup.open()方法打开弹出窗口。

同时,还创建了一个弹出窗口(Popup),并为其指定了id为"popup"。弹出窗口的位置(x、y)设定为(100, 100),宽度为200,高度为300。modal属性设置为true,表示弹出窗口为模态窗口,即阻止与其它窗口的交互。focus属性设置为true,使弹出窗口在打开时获取焦点。closePolicy属性设置为Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent,表示在按下Escape键或者点击弹出窗口以外的区域时关闭弹出窗口。

项目中的代码

Popup
{id: pop_loginanchors.centerIn: parentwidth: 880height: 495modal: trueclosePolicy:Popup.CloseOnEscapebackground: Rectangle{color:"#23272B"}Text {anchors.centerIn: parentfont.pixelSize: 24color: "#FFFFFF"text: qsTr("请检查用户名和密码!")}MouseArea{anchors.fill: parentonClicked: pop_login.visible = false}Turing_Button{height: 60width: 120anchors.right: parent.rightanchors.bottom: parent.bottomanchors.margins: 50checkable: truetext:"确定"background: Image{anchors.fill: parentsource: parent.pressed ? "qrc:/MainWindow/T_Resource/T_Image/MainWindow/Poweroff/button_press.png" : "qrc:/MainWindow/T_Resource/T_Image/MainWindow/EndCase/button.png"}contentItem: Text {anchors.centerIn: parenttext: parent.textfont.pixelSize: 24color: "#FFFFFF"horizontalAlignment: Text.AlignHCenterverticalAlignment: Text.AlignVCenter}onClicked: {pop_login.visible = false}}
}

之前写过一个Popup

http://t.csdn.cn/Qss0m,现在看挺好玩

image-20230731221452201

抄抄别人的

咱们再找找看别人的博客里面有没有特殊的同内容值得我们学习一下

dim

This property holds whether the popup dims the background.
Unless explicitly set, this property follows the value of modal. To return to the default value, set this property to undefined.
See also modal and Overlay.modeless.

该属性保存弹出窗口是否使背景变暗。
除非明确设置,否则此属性遵循 modal 的值。 要返回默认值,请将此属性设置为未定义。
另请参见模态和 Overlay.modeless。

这个是我之前用的时候没有注意的。大家有用到,可以关注一波

visible 和 Open 区别

因为目前我的大量信息都是提示信息,交互很少,基本的交互也是,所以一直都visible习惯了,今天看别的博主介绍都是 open 和 close,所以也特意学习了一下

在QML中,PopupWindow 是用于创建弹出窗口的两个常用组件。Popup 组件用于显示一个轻量级的浮动窗口,而 Window 组件则用于创建一个独立的窗口。

Popup 组件有两个主要的属性,分别是 visibleopen。它们之间的区别如下:

  1. visible(可见性)visible 属性用于控制 Popup 组件的可见性。当将该属性设置为 true 时,Popup 将显示在屏幕上;当设置为 false 时,Popup 将隐藏。这意味着通过更改 visible 属性,可以在需要时显示或隐藏 Popup 窗口。

  2. open(打开状态)open 属性也用于控制 Popup 组件的可见性,但是其行为与 visible 属性略有不同。当将 open 设置为 true 时,Popup 将显示在屏幕上,并且可以与用户进行交互。而当将 open 设置为 false 时,Popup 将完全关闭,包括其所有的子项和状态都会被重置。

总结来说,visible 属性用于简单地显示或隐藏 Popup 窗口,而 open 属性则在显示或隐藏 Popup 的同时,还可以控制是否允许用户与 Popup 进行交互。因此,如果你只是需要简单地显示或隐藏 Popup,可以使用 visible 属性。如果你还需要控制 Popup 的交互性和状态重置,可以考虑使用 open 属性。

与 Dialog有啥区别

这个是我今天突然想到的,之前也没有注意过,在使用QWidget那一套的时候,基本都是用的DIalog,好像QWidget 就没有Popup吧。今天也学习一下

Popup和Dialog是两种常见的用户界面模式,它们在实现上有一些区别。

  1. 显示方式:Popup通常以弹出窗口的形式显示在应用程序的顶部或前景,覆盖一部分或全部底层内容。Dialog则是在当前界面上以模态或非模态的方式显示,阻止用户与底层内容进行交互。

  2. 交互行为:Popup通常用于显示短暂的消息、通知或简单的操作菜单,它可以通过点击或其他手势进行关闭。Dialog则用于展示更复杂的信息或任务,通常包含更多的控件和交互元素,比如表单输入、选择等,需要用户完成一系列操作后才能关闭。

  3. 上下文关系:Popup通常是与当前内容相关的临时性信息或选项,它可以在任意时刻触发并显示。Dialog则会中断当前任务或流程,在用户完成之前无法返回到之前的操作。

总而言之,Popup适合用于快速展示短暂的信息或提供简单的操作,而Dialog则适用于更复杂的操作流程和用户交互。具体使用哪种模式取决于应用程序的需求和设计方针,懂了波。

其他

其他关于Popup的内容可以看Qt的官方帮助文档。我也是用到什么查一下。

总结一下

这篇结束,我们的用户登录部分就应该开发的基本差不多了,剩下的就是后期根据需求再做更新了。这样开下来,其实正式项目开发也没有太过神秘,都是一些基础控件的组合和符合业务需求的逻辑组合。


博客签名2021

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/169231.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】TCP 协议的相关特性

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的协议。以下是TCP协议的相关特性: 可靠性:TCP通过确认和重传机制保证数据的可靠传输。 面向连接:TCP在传输数据前需要先建立连接。连接的建立过程包括三次握手…

号外!百度Comate代码助手全新上线SaaS服务 - 免费申请试用+深入教程解读!

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

专业软件测评中心分享:科技成果验收测试报告的作用

科技成果验收测试是科技项目在开发完成后进行的一项测试,旨在检测科技项目的成果是否符合预期的技术指标和效果,以及是否符合用户需求和行业标准。验收测试报告是科技成果验收的重要依据,用于记录和证明科技成果的测试结果和性能表现。 一、…

Java入门讲解(1)---让你瞬间明白如何安装jdk

博主有话说:学习这个东西一定要持之以恒!!!博主之前因为点事情半个月没学习,重新来过时,发现自己错过好多知识,正在一点一点往回补,博客也会陆续开始更新,希望大家多多支…

安防视频监控平台EasyCVR新版(V.3.4)平台界面更新2.0

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流&#…

Mask Free VIS笔记(CVPR2023 不需要mask标注的实例分割)

paper: Mask-Free Video Instance Segmentation github 一般模型学instance segmentation都是要有mask标注的, 不过mask标注既耗时又枯燥,所以paper中仅用目标框的标注来实现实例分割。 主要针对视频的实例分割。 之前也有box-supervised实例分割&…

MySQL执行计划分析

执行计划中的常见的列的解释: type system/const :用户主键索引或者唯一索引查询时,只能匹配 1 条数据。一般可以对 sql 查询语句优化成一个常量,那么 type 一般就是 system 或者 const,system 是 const 的一个特例&…

网络安全—自学笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类…

VSCode安装使用(含插件保姆级教程)

前言 工欲善其事,必先利其器 对于我们每一位软件工程师来说,都要有自己顺手的 IDE 开发工具,它就是我们的武器。 一个好用的 IDE 不仅能提升我们的开发效率,还能让我们保持愉悦的心情,这样才是非常 Nice 的状态 &…

unity游戏画质设置功能实现

在游戏中往往会出现游戏画质设置的功能。 如图: 这个功能是怎么实现完成的呢? 一、目标:实现切换画质功能 二、了解unity支持的画质 首先要了解unity中共支持多少种画质。 在代码中也可以进行打印。 方法如下: void Start …

大河弯弯:CSS 文档流与三大元素显示模式

文章目录 参考环境文档流概念三大显示模式 内联元素概念常见的内联元素宽高由内容决定 块级元素概念常见的块级元素宽度受容器影响,高度受内容影响 内联块级元素概念常见的内联块级元素折中方案 设置元素的显示模式display 属性内联元素与块级元素的切换为什么要通过…

【CSS】常见 CSS 布局

1. 响应式布局 <!DOCTYPE html> <html><head><title>简单的响应式布局</title><style>/* 全局样式 */body {font-family: Arial, sans-serif;margin: 0;padding: 0;}/* 头部样式 */header {background-color: #333;color: #fff;padding: …

【JVM系列】- 探索·运行时数据区的私有结构

探索运行时数据区的私有结构 文章目录 探索运行时数据区的私有结构运行时数据区的结构与概念认识线程了解守护线程和普通线程JVM系统线程 程序计数器&#xff08;PC寄存器&#xff09;概述PC寄存器的特点PC寄存器的作用 透过案例了解寄存器为什么需要用PC寄存器来存放字节码的指…

随机森林算法(Random Forest)的二分类问题

二分类问题 1. 数据导入2. RF模型构建2.1 调参&#xff1a;mtry和ntree2.2 运行模型 3. 模型测试4.绘制混淆矩阵5.绘制ROC曲线6. 参考 1. 数据导入 library(dplyr) #数据处理使用 library(data.table) #数据读取使用 library(randomForest) #RF模型使用 library(caret) # 调参…

河南工业大学人工智能与大数据学院学子在第三届“火焰杯”软件测试开发选拔赛中 取得佳绩

近日&#xff0c;第三届“火焰杯”软件测试开发选拔赛落下帷幕&#xff0c;我校人工智能与大数据学院选派的多名参赛选手在王雪涛老师的指导下&#xff0c;经过激烈的角逐&#xff0c;取得优异成绩。其中&#xff0c;何鸿彬&#xff0c;贾文聪获得决赛二等奖&#xff0c;王静宇…

【前段基础入门之】=>CSS3新增渐变颜色属性

导语&#xff1a; CSS3 新增了&#xff0c;渐变色 的解决方案&#xff0c;这使得我们可以绘制出更加生动的炫酷的的配色效果 线性渐变 多个颜色之间的渐变&#xff0c; 默认从上到下渐变 background-image: linear-gradient(red,yellow,green); /*默认从上到下渐变*/默认从上…

常用Web安全扫描工具汇整

漏洞扫描是一种安全检测行为&#xff0c;更是一类重要的网络安全技术&#xff0c;它能够有效提高网络的安全性&#xff0c;而且漏洞扫描属于主动的防范措施&#xff0c;可以很好地避免黑客攻击行为&#xff0c;做到防患于未然。 1、AWVS Acunetix Web Vulnerability Scanner&a…

javaEE -5(8000字详解多线程)

一&#xff1a;JUC(java.util.concurrent) 的常见类 1.1 ReentrantLock 可重入互斥锁. 和 synchronized 定位类似, 都是用来实现互斥效果, 保证线程安全&#xff0c;ReentrantLock 也是可重入锁. “Reentrant” 这个单词的原意就是 “可重入” ReentrantLock 的用法&#xf…

Java实现连接SQL Server解决方案及代码

下面展示了连接SQL Server数据库的整个流程&#xff1a; 加载数据库驱动建立数据库连接执行SQL语句处理结果关闭连接 在连接之前&#xff0c;前提是确保数据库成功的下载&#xff0c;创建&#xff0c;配置好账号密码。 运行成功的代码&#xff1a; import java.sql.*;publi…

【1024一起敲代码!】C#mysql/Sqlserver图书借阅管理系统期末设计源代码

本系统自带7800字报告,有两个版本&#xff0c;Mysql版本、Sqlserver版本&#xff0c; 介绍 架构设计主要体现在代码层的架构和窗体层调用的架构。 在窗体中&#xff0c;由Program.cs为入口&#xff0c;启动后直接调用LoginForm.cs进入登陆界面&#xff0c;登陆成功后进入主菜…