Qtableview设置全部单元格和边框之间没有空隙
时间: 2024-06-08 07:09:06 浏览: 283
要设置QTableView中的单元格和边框之间没有空隙,可以使用以下方法:
1. 在创建QTableView对象时,将其边框线设置为无边框线。
```python
table_view = QTableView()
table_view.setShowGrid(False) # 设置无边框线
```
2. 在设置QHeaderView和QStandardItemModel时,将其边框线设置为无边框线。
```python
header = QHeaderView(Qt.Horizontal, table_view)
header.setFrameStyle(QFrame.NoFrame) # 设置无边框线
table_view.setHorizontalHeader(header)
model = QStandardItemModel()
model.setHorizontalHeaderLabels(["Column 1", "Column 2"])
table_view.setModel(model)
table_view.verticalHeader().setFrameStyle(QFrame.NoFrame) # 设置无边框线
```
3. 在设置单元格数据时,将其边框线设置为无边框线。
```python
item = QStandardItem("Data")
item.setTextAlignment(Qt.AlignCenter)
item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
item.setBackground(QColor(255, 255, 255))
item.setForeground(QColor(0, 0, 0))
item.setFont(QFont("Arial", 10))
item.setData(QVariant("Some data"), Qt.UserRole)
item.setData(QVariant("More data"), Qt.UserRole + 1)
item.setData(QVariant("Even more data"), Qt.UserRole + 2)
item.setFrame(QFrame.NoFrame) # 设置无边框线
model.setItem(row, col, item)
```
通过上述方法,可以使QTableView中的单元格和边框之间没有空隙。
阅读全文