博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt5.3中qml ApplicationWindow设置窗口无边框问题
阅读量:5875 次
发布时间:2019-06-19

本文共 774 字,大约阅读时间需要 2 分钟。

这个版本的qt在这里有点bug。。

设置ApplicationWindow的flags属性为Qt.FramelessWindowHint的确可以使程序无边框,但是同时程序在任务栏的图标也没了。

看文档发现 ApplicationWindow 是由 QQuickWindow 实现的,QQuickWindow 又继承于 QWindw。

直接创建一个QWindow对象实验了一下,代码如下

 

QWindow window;window.setFlags( Qt::FramelessWindowHint );window.setWidget( 300 );window.setHeight( 300 );window.show();

 

 编译运行竟然连个窗口都没有,后来我又改了改代码,如下:

QWindow window;window.setWidget( 300 );window.setHeight( 300 );window.show();window.setFlags( Qt::FramelessWindowHint );

 把window.setFlags( Qt::FramelessWindowHint );这句放到调用show()之后就一切正常了,任务栏上的图标不会消失了

但是,bug来了,程序退出之后任务栏的图标不会随之消失,必须用鼠标点击一下或者等一会才会消失,其他问题倒是还没发现

 

现在知道了在窗口显示之后再设置flags就好了,于是我在qml中加了一个定时器,时间为1毫秒,running为ture,在触发定时器之后再设置flags。

1毫秒的延时窗口肯定已经显示出来了,这时候再设置flags就正常了。

 

转载于:https://www.cnblogs.com/AfterTheRainOfStars/p/3895570.html

你可能感兴趣的文章
Windows10自适应和交互式toast通知[1]
查看>>
POJ 2996 & 2993 国际象棋布局 模拟
查看>>
正則表達式,推断一串字符串里面包括一定的形式,并解析成图片
查看>>
设备\Device\Harddisk1\DR1 有一个不对的区块
查看>>
蓝缘管理系统第三版推出。springMVC4.0+shiro1.2.3+spring4.x+Mybaits3.2.8
查看>>
利用Multipeer Connectivity框架进行WiFi传输
查看>>
第一章 重构
查看>>
cordova填坑
查看>>
ECMAScript 6 入门
查看>>
14Spring_AOP编程(AspectJ)_环绕通知
查看>>
PHP之打开文件
查看>>
iOS - OC SQLite 数据库存储
查看>>
PHP-mysqllib和mysqlnd
查看>>
Redis常用命令
查看>>
NeHe OpenGL教程 第三十五课:播放AVI
查看>>
Linux下ping命令、traceroute命令、tracert命令的使用
查看>>
js replace,正则截取字符串内容
查看>>
socket
查看>>
Highcharts使用表格数据绘制图表
查看>>
Thinkphp5笔记三:创建基类
查看>>