QTabWidget qss设计
时间: 2024-03-10 13:43:25 浏览: 155
QSSDesigner
QTabWidget是一个常用的多页控件,可以在其中添加多个QWidget页面。以下是一个基于Material Design设计风格的QTabWidget的QSS代码,你可以根据自己的需要进行调整:
```
QTabWidget::pane {
background-color: #FFFFFF;
border: 1px solid #CCCCCC;
}
QTabBar::tab {
border-bottom: 2px solid transparent;
color: #555555;
padding: 8px;
}
QTabBar::tab:selected {
background-color: #FFFFFF;
border-color: #2196F3;
color: #2196F3;
}
QTabBar::tab:!selected:hover {
background-color: #F5F5F5;
}
QTabBar::tab:selected:hover {
background-color: #FFFFFF;
}
QTabBar::tab:first {
margin-left: 0px;
}
QTabBar::tab:last {
margin-right: 0px;
}
QTabBar::tab:only-one {
margin: 0px;
}
QTabWidget::tab-bar {
alignment: center;
background-color: #F5F5F5;
border: none;
height: 40px;
}
QTabWidget::tab-bar:top {
top: 0px;
}
QTabWidget::tab-bar:bottom {
bottom: 0px;
}
QTabWidget::tab-bar:left {
left: 0px;
width: 120px;
}
QTabWidget::tab-bar:right {
right: 0px;
width: 120px;
}
QTabWidget::tab-bar:top, QTabWidget::tab-bar:bottom {
min-width: 400px;
}
QTabWidget::tab-bar:left, QTabWidget::tab-bar:right {
min-height: 400px;
}
```
这段代码实现了以下样式:
- QTabWidget的背景为#FFFFFF,边框为1px的#CCCCCC;
- QTabBar的底部边框为2px的透明边框,文字颜色为#555555,内部填充为8px;
- 选中的QTabBar的背景颜色为#FFFFFF,底部边框颜色为#2196F3,文字颜色为#2196F3;
- 鼠标悬浮在未选中的QTabBar上时,背景颜色变为#F5F5F5;
- 鼠标悬浮在选中的QTabBar上时,背景颜色变为#FFFFFF;
- 第一个和最后一个QTabBar的margin为0px;
- 只有一个QTabBar时,margin为0px;
- 可以设置QTabBar的位置为top、bottom、left、right;
- 如果QTabBar的位置是top或bottom,则最小宽度为400px;
- 如果QTabBar的位置是left或right,则最小高度为400px。
你可以将这段代码复制到你的QTabWidget的构造函数中,通过 `setStyleSheet()` 方法来应用这些样式。如下所示:
```python
self.tabWidget.setStyleSheet('''
QTabWidget::pane {
background-color: #FFFFFF;
border: 1px solid #CCCCCC;
}
QTabBar::tab {
border-bottom: 2px solid transparent;
color: #555555;
padding: 8px;
}
QTabBar::tab:selected {
background-color: #FFFFFF;
border-color: #2196F3;
color: #2196F3;
}
QTabBar::tab:!selected:hover {
background-color: #F5F5F5;
}
QTabBar::tab:selected:hover {
background-color: #FFFFFF;
}
QTabBar::tab:first {
margin-left: 0px;
}
QTabBar::tab:last {
margin-right: 0px;
}
QTabBar::tab:only-one {
margin: 0px;
}
QTabWidget::tab-bar {
alignment: center;
background-color: #F5F5F5;
border: none;
height: 40px;
}
QTabWidget::tab-bar:top {
top: 0px;
}
QTabWidget::tab-bar:bottom {
bottom: 0px;
}
QTabWidget::tab-bar:left {
left: 0px;
width: 120px;
}
QTabWidget::tab-bar:right {
right: 0px;
width: 120px;
}
QTabWidget::tab-bar:top, QTabWidget::tab-bar:bottom {
min-width: 400px;
}
QTabWidget::tab-bar:left, QTabWidget::tab-bar:right {
min-height: 400px;
}
''')
```
这样就可以将这段样式代码应用到你的QTabWidget中了。
阅读全文