paip.提升用户体验---控件透明的设置
2013-10-04 14:16
323 查看
paip.提升用户体验---控件透明的设置
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
1.透明图片背景 法
//////////////
控件背景设为带透明通道的图片(用Photoshop可以生成),一般以PNP格式为好
这个ok
2.setAttribute(Qt::WA_TranslucentBackground, true);
//////////////////////////////////////////////////////////////
ui->label_4->
有效
3.透明背景颜色方法
///////////////////////////
background-color: rgba(0,0,0,30);
有时要跟个透明图片背景 法一起使用才.生效
4.控件的背景动态座标法
/////////////////////////
3没这个功能。。。只能把控件的背景根
据插件的坐标,设置得和窗口的背景一样
就是如果控件在x1,y1这个点上,则在控件设置背景的时候,把使用到的那张背景图在控件的现实位置也设置为x1,y1的坐标
所谓控件透明,是指控件的背景与窗口的大背景是一样的。
如果控件不移动,则可以取窗口相应位置的背景图来做控件的背景,用 setBackgroudPixmap
如果控件可移动,那就要在移动的时候再重新取窗口相应位置的背景来重新设置控件背景。
原理如此,可以自己实现的
5. QPalette pal = palette();
.//////////////////////////////
pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));
// ui->label_4-> setPalette(pal);
QPixmap pixmapw("c:/img/dot.png");
// ui->label_4->setMask(pixmapw.mask());
6. 重绘方法:
/////////////////////
重载paintEvent
假设透明控件为TransLabel:
重载paintEvent
在TransLabel类中
void TransLabel::paintEvent(QPaintEvent *paintEvent)
{
QPainter paint;
paint.begin(this );
paint.drawPixmap(rect(),GroundPixmap);
paint.setPen(TextColor); //控件上字体显示的颜色
paint.drawText(xOrigin, yOrigin,QString::fromUtf8(labelText)); // label为所要显示的文字
paint.end();
}
参考
qt实现透明控件 - 梁锦明的专栏 - 博客频道 - CSDN.NET.htm
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
1.透明图片背景 法
//////////////
控件背景设为带透明通道的图片(用Photoshop可以生成),一般以PNP格式为好
这个ok
2.setAttribute(Qt::WA_TranslucentBackground, true);
//////////////////////////////////////////////////////////////
ui->label_4->
有效
3.透明背景颜色方法
///////////////////////////
background-color: rgba(0,0,0,30);
有时要跟个透明图片背景 法一起使用才.生效
4.控件的背景动态座标法
/////////////////////////
3没这个功能。。。只能把控件的背景根
据插件的坐标,设置得和窗口的背景一样
就是如果控件在x1,y1这个点上,则在控件设置背景的时候,把使用到的那张背景图在控件的现实位置也设置为x1,y1的坐标
所谓控件透明,是指控件的背景与窗口的大背景是一样的。
如果控件不移动,则可以取窗口相应位置的背景图来做控件的背景,用 setBackgroudPixmap
如果控件可移动,那就要在移动的时候再重新取窗口相应位置的背景来重新设置控件背景。
原理如此,可以自己实现的
5. QPalette pal = palette();
.//////////////////////////////
pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));
// ui->label_4-> setPalette(pal);
QPixmap pixmapw("c:/img/dot.png");
// ui->label_4->setMask(pixmapw.mask());
6. 重绘方法:
/////////////////////
重载paintEvent
假设透明控件为TransLabel:
重载paintEvent
在TransLabel类中
void TransLabel::paintEvent(QPaintEvent *paintEvent)
{
QPainter paint;
paint.begin(this );
paint.drawPixmap(rect(),GroundPixmap);
paint.setPen(TextColor); //控件上字体显示的颜色
paint.drawText(xOrigin, yOrigin,QString::fromUtf8(labelText)); // label为所要显示的文字
paint.end();
}
参考
qt实现透明控件 - 梁锦明的专栏 - 博客频道 - CSDN.NET.htm
相关文章推荐
- paip.提升用户体验---c++ QPushButton按钮控件透明以及不规则按钮以及 鼠标越过动态设置
- paip.提升用户体验---c++ QLabel标签以及QLineEdit文本框控件透明 设置
- paip.提升用户体验---显示密码控件ShowPwdController
- paip.提升用户体验----- 密码控件的使用
- paip.提升用户体验----表格显示及控件布局错乱的问题
- paip.提升用户体验---网站程序HTML,JS需要注意的地方
- paip.提升用户体验------c++ Qt5 实现程序图标以及动态托盘闪烁图标
- paip.提升用户体验-----c++ 实现360浏览器收藏动作星星动画效果
- paip.提升用户体验与提升安全性----记住密码
- paip.提升用户体验---免维护列表字段
- paip.提升用户体验---c++ qt 悬浮窗实现
- paip.提升用户体验与安全性----cookie盗用检测
- paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制
- paip.提升用户体验以及效率----编程语言趋势以及第四代语言4GL
- paip.提升用户体验---提高兼容性无JS支持总结
- paip.提升用户体验------c++ 拖曳使用总结..
- paip.提升用户体验----记住用户名与自动登录
- paip.提升用户体验---c++ 右键菜单以及socket接口
- paip.提升用户体验---c++ qt自定义窗体(2)---边框线的绘制
- paip.提升用户体验---上传文件图片命名