/********************************2018.08.13 CaoYufeng***QTabWidget背景设置*****************************/
/*
QTabWidget源码中底层有个panelRect区域
初始化时:panelRect区域被画成了白色
所以这里需要设置属性,让panelRect重画,但这里应该是类似于repaint流程,而不是初始化的流程
panelRect区域上是QStackedWidget,
*/
QTabWidget::pane{ // 这里把panelRect画成无背景色无边框的
border: none;
}
QTabWidget QStackedWidget{ // 这里QStackedWidget背景设置成透明/其它颜色
background: transparent;
}
/********************************2018.08.13 CaoYufeng***End*****************************/
QT
t
ab
Widget
设置
背景
透明
t
ab
Widget
->setStyleSheet("
QT
ab
Widget
:pane {border-top:0px solid #e8f3f9;background: transparent; }");
这样保证
背景
透明
而上面的控件正常显示
t
ab
Widget
设置
为
透明
并保留边框的方法:
ui->t
ab
Widget
->setStyleSheet("
QT
ab
Widget
:pane{
border: 1px solid black; top: -1px;background: transparent;}
QT
ab
Bar::t
ab
{height:50px; margin-right: 2px; margin-bottom:-...
最近在遇到
设置
QT
extEdit或者
QT
extEdit的派生类,利用
qss
设置
background-color不生效,记录出现这种问题的情形,以及对应的解决办法。
问题的出现:
新建一个基于Q
Widget
的工程,勾选ui文件,在界面上拖放一个
QT
extEdit,(可以添加一个布局,也可以不用),其余保持默认
设置
就行。
在
widget
.cpp的构造函数
中
添加代码:
setAttribute(
Qt
::WA_TranslucentBackground);
this->setStyleSheet("
QT
ex
·代码
设置
setWindowOpacity(n),n范围0.0~1.0,1.0完全不
透明
,全局
设置
setWindowFlags(
Qt
::FramelessWindowHint);
setAttribute(
Qt
::WA_TranslucentBackground);
setWindowFlags(
Qt
::FramelessWin