QWidget透明度
来源:互联网 发布:c 动态创建数组 编辑:程序博客网 时间:2024/06/08 08:42
今天想把窗口变成半透明,查了好久中午找到这个方法
setWindowOpacity(0.5);
但是当QWidget 调用 setAutoFillBackground(true);
方法之后窗口就不能透明,
QWidget * widget1 = new QWidget(&widget); widget1->setAutoFillBackground(true); QPalette palette = widget1->palette(); palette.setColor(QPalette::Background, QColor(Qt::red)); widget1->setPalette(palette); widget1->setWindowOpacity(0.5);
用上述代码试过之后发现只要调用 setAutoFillBackground(true) 这是调色板之后便不能透明,现在还不知道原因先记录下来
2 另一种方法
widget1->setAttribute(Qt::WA_TranslucentBackground, true);
没有实践效果
3利用调色板让窗口半透明
widget1->setAutoFillBackground(true); QPalette palette = widget1->palette(); palette.setColor(QPalette::Background, QColor(100,100,100,50)); widget1->setPalette(palette);
这样widget1就可以实现半透明,另外记载以下 全透明的color : QColor(0x00,0xff,0xff,0x00));
3 窗体不透明,布局透明 在Paint事件中使用Clear模式绘图(这个我没有试过,是在网上搜来的)
void TestWindow::paintEvent( QPaintEvent* ) { QPainter p(this); p.setCompositionMode( QPainter::CompositionMode_Clear ); p.fillRect( 10, 10, 300, 300, Qt::SolidPattern ); }
本文部参考:http://blog.csdn.net/liang890319/article/details/7028520
- QWidget透明度
- QT QWidget设置窗体透明度方法汇总
- QT QWidget设置窗体透明度方法汇总
- QWidget
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- 透明度
- QWidget::setTabOrder ( QWidget * first, QWidget * second)
- QWidget概述
- nginx配置文件中的root和alias的区别
- 【转载】Twitter系统架构设计分析
- linux 简单的mysql备份和导入,以及文件的备份和导入
- winlogon.exe 让机器CPU 100%
- effective C++之关于类成员的初始化,及默认构造函数、默认赋值构造函数和赋值函数
- QWidget透明度
- 关于c语言中二维数组做参数
- 软件开发模型——Scrum敏捷开发初了解
- Nova attach volume的流程分析
- From kernel startup entry point to start_kernel (1)
- Tomcati下使用webservice报错
- <Java编程思想>第12章:通过异常处理错误
- axis2 wenservice第一个例子
- 屏幕刷新问题解决方法总结