QT里如何实现控件的透明啊
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都是可以独立设置样式的。
[解决办法]+1
用QSS实现吧
[解决办法]http://blog.csdn.net/qtcreatorlinux/article/details/6959395