首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QT里如何实现控件的透明啊

2013-03-06 
QT里怎么实现控件的透明啊?我用QT做桌面应用程序,添加了一个TabWidget,使用下面的代码可以改变空间的颜色,

QT里怎么实现控件的透明啊?
我用QT做桌面应用程序,添加了一个TabWidget,使用下面的代码可以改变空间的颜色,但无法使控件透明。

setStyleSheet("background-color: rgba(255,0,0,20)");

如果透明度设置为0,那么控件就成了白色的。
另外,TabWidget的标签本身,就是有文字的那块地方颜色始终无法改变,边框也无法变色。

setAttribute(Qt::WA_TranslucentBackground, true);

这段代码对窗体可以起到作用,但对控件不起作用。
[解决办法]
tabwidget->setStyleSheet("QTabWidget:pane {border-top:0px solid #e8f3f9;background:  transparent; }
QTabBar::tab:pane {width: 38px;height: 130px;background: transparent;}
QTabBar::tab:hover {border-image: url(:/images/cloud_source_hovering.png);width: 38px;height: 130px;background: transparent;position: absolute;}
QTabBar::tab:selected {border-image: url(:/images/cloud_source.png);width: 38px;height: 130px;background: transparent;position: absolute;}
QTabBar::tab:!selected {border: 0px solid black;width: 38px;height: 130px;background: transparent;position: absolute;position: absolute;}");

自己试试吧,tabwidget的panel和tab都是可以独立设置样式的。
[解决办法]
引用:
tabwidget->setStyleSheet("QTabWidget:pane {border-top:0px solid #e8f3f9;background:  transparent; }
QTabBar::tab:pane {width: 38px;height: 130px;background: transparent;}
QTabBar::tab:h……


+1
用QSS实现吧
[解决办法]
http://blog.csdn.net/qtcreatorlinux/article/details/6959395

热点排行