要在 QTableWidget
中只显示竖直的边框,而隐藏水平边框,可以使用 QTableWidget
的 setShowGrid(False)
方法隐藏网格线,然后通过设置 QTableWidget
的样式表来只显示竖直的边框。
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
app = QApplication([])
# 创建一个 QTableWidget
table_widget = QTableWidget(3, 3)
# 填充表格
for i in range(3):
for j in range(3):
table_widget.setItem(i, j, QTableWidgetItem(f"Item {i}, {j}"))
# 隐藏表格的网格线
table_widget.setShowGrid(False)
# 设置样式表,只显示竖直边框
table_widget.setStyleSheet("""
QTableView::item {
border-left: 1px solid black; /* 只显示竖直边框 */
}
QTableView::item:selected {
border-left: 1px solid black;
}
""")
# 显示表格
table_widget.show()
app.exec_()
setShowGrid(False)
用于隐藏默认的网格线。- 通过
setStyleSheet
只为每个单元格的左边框设置样式 (border-left
) 来实现只显示竖直的边框。如果需要加粗或改变颜色,可以调整1px solid black
的值。 - 如果想控制右侧边框,也可以调整
border-right
。
这个方法可以让表格看起来只有竖直的分隔线,而没有水平的分隔线