pyqt5 tableview 设置表格里面边框
时间: 2024-10-28 12:06:09 浏览: 10
PyQt5 QTableView设置某一列不可编辑的方法
在PyQt5中,设置QTableView(表格视图)内部单元格边框通常需要自定义样式表(QSS)。你可以通过修改样式表来控制每一项、行或者列的边框样式。下面是一个简单的例子,展示如何为QTableView添加内边框:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QTableView, QVBoxLayout, QStyleOptionViewItem
from PyQt5.QtGui import QColor, QPainter, QPen
from PyQt5.QtCore import Qt
class CustomTableView(QTableView):
def paintCell(self, painter, option, index):
super().paintCell(painter, option, index)
# 获取当前单元格的边框样式选项
opt = QStyleOptionViewItem(option)
# 绘制边框
pen = QPen(Qt.black, 1) # 边框颜色和宽度
painter.setPen(pen)
painter.drawRect(option.rect)
# 创建应用实例
app = QApplication([])
# 实例化窗口
window = QWidget()
layout = QVBoxLayout(window)
table_view = CustomTableView()
layout.addWidget(table_view)
# 设置窗口大小和显示
window.resize(400, 300)
window.show()
# 运行应用
app.exec_()
```
在这个例子中,`paintCell` 方法被覆盖以绘制额外的边框。注意,这仅适用于单色边框,如果你想要更复杂的样式(如圆角或渐变),你可能需要直接在样式表中编写CSS规则。
阅读全文