随着接触Qt的时间的增加,也逐渐的发现了Qt 的一些不人信话的一些地方,不由的想起一句话,也不知道是在哪里看到的了“一切变成语言都是垃圾,就C++还可以凑合用”大致意思是这样。最近项目的祝界面框架都基本写完了,那自我感觉良好,感觉自己QML牛逼的不得了了,全部用的都是自己YY出来的空间,今天小伙伴在同伴代码后,用到了我的模块,给我说了一个BUG,

我一听,卧槽,BUG!BUG!BUG!,你确定是我的问题吗,你要确定好了啊,是不是你的环境问题,我这怎么没有这个问题。

大致说一下背景,项目在开发完成后呢,大部分和默认情况呢,都是全屏运行,界面呢,都属出自本宝宝的手哈,所以了,在QML中了,我默认是调用的QML的“showFullScreen()”

而小伙伴反应是在全屏下,我的空间是被遮住了,在主界面的后面显示,每次都需要调出资源管理器来显示我的界面,这就不爽了,我这里怎么就没有了

再次和小伙伴干起来,是不是你用的不对,你没有看我写的Demo么,没有看么,我的怎么没有问题,奈何,MMP,我是公司唯一一个使用两个显示器 的,每次程序都是运行在我的扩展屏上面,这个问题是没有出现,但是当我运行在主屏上面的时候,就会发现这样的问题了,赶紧害羞的修BUG

“showFullScreen()”这个函数呢,英文字面意思就是全屏显示程序,这个函数默认是调用了系统的“FullScreen”,如下图

接着跳转到帮助文档看FullScreen,如下

后面的届时我复制下来

The window occupies one entire screen, is not resizable, and there is no titlebar. On some platforms which do not support showing multiple simultaneous windows, this can be the usual visibility when the window is not hidden.

这是原文,

有道翻译结果

大致意思了,就是这个FunnScreen函数了,在某些平台上面,只能支持一个界面全屏显示,也就是说,当某个界面在全屏显示的状态下,其他界面是被遮盖的。参考这个BUG的出现,那我才,windows就是其中一个了,很遗憾,那么,怎么办了,其实如果可以用Dialog就可以轻松解决了,奈何我搞了一下午,就是不能把Dialog的边框去掉,这里需要有牛逼的小伙伴给我指点一下,QML下的Dialog怎么把边框给去掉了。但是呢,总得先把这个BUG给解决了,不然老板给和我谈谈人生了。所以,这里需要祭出我今天新学习的神器了,Popup

这是一些Popup的一些布局显示,那么我理解了,就是中间的白色区域,就可以显示我们要弹出的内容了,剩下的那些,都是对这个Popup的美化。

下面上测试代码

import QtQuick 2.5
import QtQuick.Controls 2.1
import QtQuick.Controls.Styles 1.4
import QtGraphicalEffects 1.0
import QtQuick.Window 2.2
ApplicationWindow {id:rootvisible: truewidth: 800height: 600title: qsTr("测试程序")Rectangle{width: 100height: 30anchors.right: parent.rightanchors.top: parent.topcolor: "#FF0000"MouseArea{anchors.fill: parentonClicked: {if(root.width != Screen.width){showFullScreen()test.text = "ShoeNurmal"}else{showNormal()test.text = "ShowFullScreen"}}}Text {id: testanchors.centerIn: parenttext: qsTr("ShowFullScreen")}}Rectangle{width: 100height: 30anchors.right: parent.rightanchors.top: parent.topanchors.topMargin: 50color: "#FFFF00"MouseArea{anchors.fill: parentonClicked: {if(textpopup.text == 'Popup'){myPopup.open()textpopup.text = "Popup close"}else{myPopup.close()textpopup.text = "Popup"}}}Text {id: textpopupanchors.centerIn: parenttext: qsTr("Popup")}}Popup{id:myPopupwidth: 400height: 300x:(root.width-width)/2y:(root.height-height)/2modal: truefocus: trueclosePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParentRectangle{
//            width: 400
//            height: 300anchors.fill: parentText {id: mytextfont.pixelSize: 24text: qsTr("Popup 内容显示模块")}}}}

运行测试截图

非全屏

全屏

抱歉,我不知道怎么能截下来,每次截图会把这个状态改变了,只能用相机拍下来了

目前完美解决了这个我自己洗的BUG

现在,我真的是在写BUG,哈哈

欢迎大家指正

Qt-QML-Popup,弹层界面编写相关推荐

  1. vant组件搜索并选择_Vue.js自定义弹层组件|vue仿微信/ios弹窗

    最近趁着国庆假期给自己充充电,一直在捣鼓Nuxt.js项目,由于项目中需要用到定制化弹窗功能,本来是想着使用Vant组件库,经过再三考虑,最后决定还是自己重新造一个,于是就有了Vue自定义弹出层VPo ...

  2. TypeScript组件化实现弹层播放器

    一.简介 TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript. TypeScript可以再任何浏览器.任何计算机和任何操作系统上运行,并且是开源免费的. 为什么要 ...

  3. uni-app里的拓展组件uni ui与UI框架uView UI的Popup 弹出层的区别!

    uni-app里的拓展组件uni ui与UI框架uView UI的Popup 弹出层的区别! 文章目录 1.官网Popup 弹出层链接 2.属性不同 3.属性对照 4.弹出的方式 5.uView特有属 ...

  4. 小程序UI组件 Vant Weapp Popup弹出层和Picker选择器 组合使用按钮被遮盖恢复不了的问题

    Vant Weapp Popup弹出层和Picker选择器 组合使用, 如果picker在popup上存在滚动条, 在开发者工具上鼠标可以滚动还原picker的确认和取消按钮位置, 但是在真机上,把p ...

  5. vanpopup 高度_Vant Popup 弹出层

    介绍 弹出层容器,用于展示弹窗.信息提示等内容,支持多个弹出层叠加展示 引入import Vue from 'vue'; import { Popup } from 'vant'; Vue.use(P ...

  6. vue vant Popup 弹出层 与 Picker 选择器 的完美结合 实现多级列表选择

    前言: 在写项目的时候,经常会碰到选择列表,为了更完美的实现效果,使用了vant里面的 Popup 弹出层 + Picker 选择器 效果图: 页面结构: van-field 是vant里面的输入框组 ...

  7. 个人中心 (二) 01-编辑资料-基础布局-Popup弹出层-底部弹出-头像男女时间 DatetimePicker时间选择转换-dayjs(value).format('YYYY-MM-DD')

    个人中心-编辑资料-基础布局-Popup 弹出层-底部弹出模式-头像-男女-时间 & DatetimePicker 时间选择-年月日模式 & dayjs(value) 转换成日期对象, ...

  8. Qt QML 菜单/目录/工具栏的全面攻略(TabBar、MenuBar、ToolBar、Button定制、Listview、Repeater)

    Qt QML 菜单/目录/工具栏的全面攻略 1. TabBar的工具栏/目录 1.1 演示 1.2 关键控件 1.3 源码 2 MenuBar 菜单 2.1 演示 2.2 关键控件 2.3 源码 3 ...

  9. QT自定义精美换肤界面

    QT自定义精美换肤界面 陆陆续续用QT开发过很多项目,也用QT写过不少私活项目,也写过N个工具,一直梦寐以求能像VC一样可以很方便的有个自定义的界面,QSS的强大让我看到了很好的希望,辗转百度谷歌无数 ...

最新文章

  1. C#中一道关于多线程的基础练习题——模拟仓库存销过程
  2. 微软中国发布“IE8浏览器性能解密”,为金山网盾辟谣
  3. import org.apache.commons.codec.digest.DigestUtils; 未导入
  4. 系统运维tips 3 之 innodb
  5. 分享按钮 Social Buttons for Bootstrap
  6. Python学习小结---函数
  7. NeurIPS 2019:进入NLP的黄金时代
  8. 神奇的“const”
  9. visio画图复制粘贴到word_visio复制粘贴到word中
  10. 有这就够了小香港五味俱全——专升本高数
  11. MySQL学习笔记(一)基本查询操作
  12. pm模式 raid_pm8060 raid配置 服务器RAID配置详解 - 硬件设备 - 服务器之家
  13. Second copy 的增量备份
  14. Java内存模型——《深入理解Java虚拟机》笔记
  15. kali系统自带字典wordlists简介
  16. Egret(引擎篇)
  17. 力扣HOT100题代码
  18. 谷歌地图 地点搜索(模糊搜索)
  19. 1378:最短路径(shopth)
  20. 已通过认证的微信公众号名字可以改吗?

热门文章

  1. 列表中字符串转换为数字需要先转换为浮点数
  2. OkHttp的运用与原理(cookie、缓存、源码解析)
  3. MySQL复制数据库表到另一个数据库
  4. word段落每行首字怎么对齐_Word教程:段落格式设置:首行左右悬挂缩进及五种对齐方式...
  5. 借我笑颜灿烂如春天,借我杀死庸碌的情怀
  6. Python安装numpy,matplotlib
  7. Magica Cloth笔记——1
  8. python游戏制作
  9. 如何阅读一本IT书籍
  10. android之无法登陆google play解决方法