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

QML Popup详解

1.简介

弹出式用户界面控件,它可以与Window或ApplicationWindow一起使用,默认不可见。

常用属性介绍,一些公用的基础属性就不作介绍,可以查看我前面写的文章。

closePolicy : enumeration :此属性决定弹出窗口关闭的情况

  • Popup.NoAutoClose: Popup 只会在手动指示时关闭。
  • Popup.CloseOnPressOutside:当鼠标在其外部按下时, Popup 将关闭。
  • Popup.CloseOnPressOutsideParent:当鼠标在其父级之外按下时, Popup 将关闭。
  • Popup.CloseOnReleaseOutside:当鼠标离开 Popup 时, Popup 将关闭。
  • Popup.CloseOnReleaseOutsideParent:当鼠标在其父级之外释放时, Popup 将关闭。
  • Popup.CloseOnEscape:当 Popup 具有活动焦点时按下退出键, Popup 将关闭。

modal : bool:确定弹出窗口是否是模态的

dim : bool:显示弹出窗口是否使背景变暗

Overlay:弹出窗口覆盖

下图就是一些内边距、外边距等的一些属性。

常用方法:

  • void close():关闭弹窗
  • void open() :打开弹窗

2.示例

示例1:打开一个模态框,按ESC键关闭。

Window {visible: truewidth: 700height: 700title: qsTr("Hello World")Button {text: "Open"onClicked: popup.open()}Popup {id: popupx: 100y: 100width: 200height: 300modal: truefocus: trueclosePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent}
}

示例2:带动画的打开关闭popup

Window {visible: truewidth: 700height: 700title: qsTr("Hello World")Button {text: "Open"onClicked: popup.open()}Popup {id: popupx: 100y: 100width: 200height: 300modal: truefocus: trueclosePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParententer: Transition {NumberAnimation {property: "opacity"from: 0.0to: 1.0duration: 2000}}exit: Transition {NumberAnimation {property: "opacity"from: 1.0to: 0.0duration: 2000}}}
}

示例3:Overlay的简单使用

Overlay.modal 要生效,使用modal:true

Overlay.modeless要生效,使用modal:false 并且置dim:true

Window {visible: truewidth: 700height: 700title: qsTr("Hello World")Popup {id: popupx: 100y: 100visible: truewidth: 200height: 300modal: falsefocus: true//dim:trueclosePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent//modal设置了除模态对话框以外的区域Overlay.modal: Rectangle{anchors.fill: parentcolor: "red"}//modal设置了除非模态对话框以外的区域,要设置dim:true才可以Overlay.modeless: Rectangle{anchors.fill: parentcolor: "green"}}
}

http://www.lryc.cn/news/34358.html

相关文章:

  • [2.1.6]进程管理——线程的实现方式和多线程模型
  • 小白做什么兼职项目赚钱?宝妈拍短视频赚钱的方法
  • 第十四届蓝桥杯第三期模拟赛 C/C++ B组 原题与详解
  • Linux中断操作
  • 看看CabloyJS是如何异步加载并执行go wasm模块的
  • 嵌入式C语言九大数据结构操作方式详解
  • 【C++学习】栈 | 队列 | 优先级队列 | 反向迭代器
  • Python—看我分析下已经退市的 可转债 都有什么特点
  • 【第八课】空间数据基础与处理——数据结构转化
  • MATLAB绘制三Y轴坐标图:补充坐标轴及字体设置
  • springboot项目中Quartz
  • Presto本地开发,plugin的设置
  • 2023年3月西安/杭州/深圳/东莞NPDP产品经理认证考试报名
  • Vue3笔记01 创建项目,Composition API,新组件,其他
  • pandas数据分析(二)
  • Spring实现[拦截器+统一异常处理+统一数据返回]
  • MySQL——插入加锁/唯一索引插入死锁/批量插入效率
  • 【专项训练】数组、链表
  • 基于Jeecgboot前后端分离的ERP系统开发代码生成(六)
  • 什么?同步代码块失效了?-- 自定义类加载器引起的问题
  • CHAPTER 4 文件共享 - Samba
  • 深入分析@Configuration源码
  • Unity 代码优化 内存管理优化
  • 设计模式~门面(外观)模式(Facade)-08
  • C++面向对象编程之一:封装
  • IDEA插件系列(3):Maven Helper插件
  • SAP 更改物料基本计量单位
  • 蓝桥web基础知识学习
  • Python+ChatGPT制作一个AI实用百宝箱
  • Python中格式化字符串输出的4种方式