QTableWidget如何通过styleSheet只设置顶部表头的格式,左侧格式不变
时间: 2024-10-18 08:23:45 浏览: 34
QTableWidget设置表头筛选(含鼠标点击事件过滤)
5星 · 资源好评率100%
在QTableWidget中,如果你想通过StyleSheet(样式表)仅设置顶部表头(即`QHeaderView`)的格式而保留左侧列的默认样式,你可以这样做:
首先,在`.ui`文件或Qt Designer中,针对表头添加单独的样式规则。例如,如果你想要改变顶部表头字体、背景色或者其他样式,可以在资源文件中定义这样的CSS:
```css
/* 针对顶部表头(QHeaderView)的样式 */
QHeaderView::section {
background-color: #custom-header-color; /* 设置自定义颜色 */
font-family: Arial; /* 设置字体 */
font-size: 16px; /* 字体大小 */
color: white; /* 文字颜色 */
border: none;
}
/* 保持左侧列(QTableWidget的第一列)的默认样式 */
QWidget#tableWidget_0::item {
background-color: transparent;
}
```
然后在你的Python代码中,确保将这个样式应用到对应的`QTableWidget`上:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView, QWidget, QVBoxLayout
class YourWindow(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.table_widget = QTableWidget(parent=self)
layout = QVBoxLayout()
layout.addWidget(self.table_widget)
self.setCentralWidget(QWidget())
self.centralWidget().setLayout(layout)
# 应用样式表
stylesheet = """
<!-- 在这里复制上述的CSS代码 -->
"""
self.table_widget.setStyleSheet(stylesheet)
```
记得替换`custom-header-color`等部分为你需要的实际颜色值。
阅读全文