pyqt qtablewidget setstylesheet 网格
时间: 2023-08-28 22:14:50 浏览: 167
对于在PyQt中使用QTableWidget设置网格样式的问题,可以使用setStyleSheet方法来自定义样式。例如,可以使用border属性来改变单元格边界宽度,使用gridline-color属性来改变网格线的颜色。以下是一个示例代码:
```python
self.QTableWidget.setStyleSheet('''
QTableWidget{
background-color: #ffffff;
gridline-color: #72e8dd;
font: 15pt '微软雅黑';
color: #20837a;
font-weight: bold;
}
QTableWidget::item{
background-color: #ffffff;
border: 2px solid #72e8dd;
}
''')
```
然而,这种方法可能会导致一个问题,无论是设置了background-color还是设置了border,都无法通过QTableWidget.item(row, col).setBackground(QColor(255, 255, 255))来随时改变某个单元格的背景颜色。为了解决这个问题,可以在QTableWidget中添加一个QLabel,并将其作为单元格的小部件,然后通过设置QLabel的样式来改变单元格的背景颜色。以下是一个示例代码:
```python
lb = QtWidgets.QLabel()
lb.setText(' ')
lb.setStyleSheet("background-color: #ffffff;") # 初始背景颜色
self.QTableWidget.setCellWidget(row, col, lb)
```
这样,你就可以使用QLabel的setBackground方法来随时改变某个单元格的背景颜色了。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* [pyqt5 qtablewidget改变单元格边界宽度以及单元格无法改变背景颜色的问题](https://blog.csdn.net/zoey_peak/article/details/119176965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
- *3* [PyQt5控件学习之-QTableWidget](https://blog.csdn.net/bwz771411855/article/details/110354684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文