qtablewidget 字体居中
时间: 2025-01-12 14:42:00 浏览: 64
### 实现 QTableWidget 单元格文本居中
为了确保 `QTableWidget` 中的单元格文本始终保持居中对齐,即使在编辑之后也不例外,可以采取以下措施:
通过设置单元格项的文本对齐属性来实现初始状态下的居中显示。对于防止编辑后失去居中效果的情况,在创建表格时可以通过重写 `QStyledItemDelegate` 来定制编辑器的行为。
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QStyledItemDelegate
from PyQt5.QtCore import Qt
class CenteredDelegate(QStyledItemDelegate):
def createEditor(self, parent, option, index):
editor = super().createEditor(parent, option, index)
editor.setAlignment(Qt.AlignCenter) # 设置编辑器内的文本始终居中
return editor
app = QApplication([])
table_widget = QTableWidget(4, 3)
delegate = CenteredDelegate(table_widget)
table_widget.setItemDelegate(delegate)
for row in range(table_widget.rowCount()):
for col in range(table_widget.columnCount()):
item = QTableWidgetItem(f"Row{row} Col{col}")
item.setTextAlignment(Qt.AlignCenter | Qt.AlignVCenter) # 初始状态下使文本居中[^1]
table_widget.setItem(row, col, item)
table_widget.show()
app.exec_()
```
此代码片段展示了如何利用自定义委托类 `CenteredDelegate` 覆盖默认行为,从而保证无论何时进入编辑模式,输入框中的文字都会保持水平垂直方向上的中心位置[^2]。
阅读全文
相关推荐


















