qt 窗体透明问题
图片中有三个窗体,主窗体,框一(注意框一中有四个按钮,而不是三个),框二。
现在的疑问有点多
一:为什么我的框一窗体在地图部分区域的背景色就变成黑色的了,而在上方区域就是透明的。
二:其实框一和框二都是继承于QWidget,只是一些属性设置不一样。
框二的代码
QMenuOpacity *myDialog= new QMenuOpacity(this);
myDialog->setAutoFillBackground(false); //这个不设置的话就背景变黑
myDialog->setWindowFlags(Qt::Tool | Qt::FramelessWindowHint);
myDialog->setAttribute(Qt::WA_TranslucentBackground, true);
myDialog->show();
框一的代码
Widget *wid=new Widget(this);
wid->setGeometry(0,0,200,200);
// wid->setAutoFillBackground(false); //这个不设置的话就背景变黑
wid->setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
wid->setAttribute(Qt::WA_TranslucentBackground, true);
// wid->setWindowOpacity(0.5);// 针对于主窗体,子窗体无效
wid->show();
现在的疑问有点多
一:为什么我的框一窗体在地图部分区域的背景色就变成黑色的了,而在上方区域就是透明的。
二:其实框一和框二都是继承于QWidget,只是一些属性设置不一样。
框二的代码
QMenuOpacity *myDialog= new QMenuOpacity(this);
myDialog->setAutoFillBackground(false); //这个不设置的话就背景变黑
myDialog->setWindowFlags(Qt::Tool | Qt::FramelessWindowHint);
myDialog->setAttribute(Qt::WA_TranslucentBackground, true);
myDialog->show();
框一的代码
Widget *wid=new Widget(this);
wid->setGeometry(0,0,200,200);
// wid->setAutoFillBackground(false); //这个不设置的话就背景变黑
wid->setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
wid->setAttribute(Qt::WA_TranslucentBackground, true);
// wid->setWindowOpacity(0.5);// 针对于主窗体,子窗体无效
wid->show();
...全文
相关推荐
透明窗体中的滚动字幕
用qt实现了透明窗体和滚动字幕,不过有闪烁。中间用到了automask,比我想象中的难一些。
QT QWidget设置窗体透明度问题汇总
网上找的几种设置透明度的方法,实验了以后,发现对于现在的程序来说,有些已经不能实现了,或许是我实现方式的问题,知道的还望告诉我一下! 1、设置窗体的背景色 在构造函数里添加代码,需要添加头文件qpalette或qgui QPalette pal = palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x0...
Qt实现半透明不规则窗体的示例
Qt实现半透明不规则窗体的示例,希望可以帮助到需要的朋友
Qt.rar_qt 不规则窗体_qt 窗体
Qt不规则窗体的实现,包括各种窗口实现的代码。
Qt不规则窗体的实现
关于使用Qt制作不规则窗体方法的文档,包含Qt3和Qt4两种实现方法的源码演示。感觉在Qt里便这种GUI特效比在MFC里要容易的多,大家可以对比看看哈,Qt的代码只需要几十行就搞定了,经试用过了,源码在Ubuntu里编译有效,但是在win7里不行,运行的程序会有一个很难看的边框,去不掉,Qt最终毕竟是Linux的产物吧。


