• 4128阅读
  • 3回复

[提问]QTabWight用qss设置tab圆角后仍然有直角的显示(在其后面的部件的颜色设置透明度不是255的情况下) [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 楼主  发表于: 2016-06-19
— 本帖被 XChinux 从 其它技术开发讨论区 移动到本区(2016-06-22) —
QTabWight用qss设置tab圆角后仍然有直角的显示(在其后面的部件的颜色设置透明度不是255的情况下)

上述图片如果QDialog的背景色(background-color)透明度设置为小于255的情况下就会出现上述问题,若是255的情况下就不会显示那个深红色的直角。
由于项目中需要设置透明度,找了半天也没找到解决办法。
求大牛支招,不胜感激!!!

问题的源代码问题源代码ui ProjectTabWidget.ui (4 K) 下载次数:3 ,这个ui中只是设置了styleSheet,QDialog的透明度是50。




也在下面附一下QDialog和QTabWidget的styleSheet
QDialog的styleSheet:

QDialog{
       background-color: rgb(255, 0, 0,50);
}
QTabWidget的styleSheet:
QTabWidget::pane {
     border: 0px solid rgb(0,67,138);
     background-color: rgb(0, 0, 0);
}


QTabWidget::tab-bar {
     left: 0px;
     background-color: rgb(0, 255, 0);


}


QTabBar::tab {
     font: 75 12pt "宋体" ;
     color: rgb(0, 85, 255);      
     border: 0px solid rgb(0,0,0);
     border-top-left-radius: 25px;
     border-bottom-left-radius: 25px;
     border-top-right-radius: 0px;
     min-width: 4ex;
     padding: 8px;
     background-color: rgb(0, 40, 80);
}


QTabBar::tab:selected, QTabBar::tab:hover {
     background-color: rgb(0,51,103);


}




QTabBar::tab:selected {
     border-color: rgb(0, 67, 138,0);
     background-color: rgb(0, 0, 0);
     border-bottom-color: rgb(0, 67, 138,0);


}


QTabBar::tab:!selected {
     margin-top: 4px;
}




QTabBar::tab:selected {
     margin-left: -4px;
     margin-right: -4px;
}


QTabBar::tab:first:selected {
     margin-left: 0;
}


QTabBar::tab:last:selected {
     margin-left: 0;
}


QTabBar::tab:only-one {
     margin: 0;

}

只看该作者 1楼 发表于: 2016-06-19
难道没有人遇见吗?在线等啊
离线九重水

只看该作者 2楼 发表于: 2016-06-20
没遇到过。也没QSS过,帮顶。
你先把它跟背景的那个红色调到一样,先应付老板那关。
后面再来收拾它。

只看该作者 3楼 发表于: 2016-06-21
回 九重水 的帖子
九重水:没遇到过。也没QSS过,帮顶。
你先把它跟背景的那个红色调到一样,先应付老板那关。[表情]
后面再来收拾它。[表情]  (2016-06-20 12:11) 

非常感谢!项目好应付可是这个技术点还是没解决
快速回复
限100 字节
 
上一个 下一个