首页 > 技术文章 > 但是如果在低于qt 5.1.1版本时,设置QT::FramelessWindowHint和Qt::WA_TranslucentBackground时会出现一个bug:

kangyongnian 2018-09-20 13:53 原文

自定义窗口及拖动

1.自定义无边框窗口时,需要将窗口标志设为:

 

2.然后还需要通过安装EventFilter给自己监视窗口拖动

其中构造函数实现:

eventFilter事件处理函数实现:

 

 

 

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180627210826348-1838892903.png" width="367" height="195">

 

 

1.使用QGraphicsDropShadowEffect图像阴影效果类

好处在于快捷,只需要在构造函数里实现即可,坏处就是界面有点卡(我这里测试是这样的)

QGraphicsDropShadowEffect常用函数:

示例-在构造函数里调用:

效果:

 

 

2.QPainter绘画

首先,在构造函数里调用下面函数,设置透明:

然后在paintEvent函数里进行绘制

由于界面是圆角的,所以通过drawRoundedRect()绘制.

效果:

 

 

参考: https://blog.csdn.net/stephan14/article/details/47406881

参考: http://blog.sina.com.cn/s/blog_a6fb6cc90101eoop.html#cmt_53197A33-7F000001-6E85F70F-8B8-8A0

  

参考:https://blog.csdn.net/yiqiyihuiligang/article/details/51438600

 

 

播放声音

当弹出对话框时,需要播放声音,可以使用windows自带的声音,位置在C:\Windows\Media里

 QSound播放的只有.wav文件,并且比特率不能太高,可以使用格式工厂,把比特率降到三百多 

并且声音路径必须是在APP程序的路径,示例:

 参考:https://blog.csdn.net/qq_28364283/article/details/50907329

 

 隐藏任务栏

 

 

为什么要隐藏任务栏

比如当我们拖动无边框界面时,需要绘制界面边框线,如果不隐藏的话,就会出现两个任务栏图标

 

 


 

 


文章来源:https://www.cnblogs.com/lifexy/p/9236010.html

推荐阅读