QTableView如何设置居中显示
时间: 2023-12-29 21:12:40 浏览: 682
可以通过设置QHeaderView和QItemDelegate来实现QTableView中的内容居中显示。
设置QHeaderView居中显示:
```python
# 获取水平表头
header = tableView.horizontalHeader()
# 设置对齐方式为居中对齐
header.setDefaultAlignment(Qt.AlignCenter)
```
设置QItemDelegate居中显示:
```python
class CenterDelegate(QStyledItemDelegate):
def paint(self, painter, option, index):
option.displayAlignment = Qt.AlignCenter
QStyledItemDelegate.paint(self, painter, option, index)
# 创建表格
tableView = QTableView()
# 创建代理
delegate = CenterDelegate()
# 为表格设置代理
tableView.setItemDelegate(delegate)
```
以上两种方式都可以实现QTableView中的内容居中显示,可以根据实际需求选择其中一种方式来实现。
相关问题
qtableview居中显示
您可以使用setAlignment()函数来设置QTableView中每一列的对齐方式,以使其居中显示。以下是一个示例代码:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QMainWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
model = QStandardItemModel(4, 2)
model.setHorizontalHeaderLabels(['Column 1', 'Column 2'])
for row in range(4):
for column in range(2):
item = QStandardItem('Row %s, Column %s' % (row + 1, column + 1))
model.setItem(row, column, item)
table = QTableView()
table.setModel(model)
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
table.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
table.setEditTriggers(QAbstractItemView.NoEditTriggers)
# 居中对齐
table.setAlignment(Qt.AlignCenter)
self.setCentralWidget(table)
self.show()
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
app.exec_()
```
在这个示例中,我们使用了setAlignment()函数将QTableView中的每一列都设置为居中对齐。您可以根据需要调整此设置,以满足您的特定要求。
c++实现QTableView 设置某列居中显示
你可以通过设置QHeaderView的对应列的对齐方式来实现某列居中显示,具体操作如下:
```c++
QHeaderView* headerView = ui->tableView->horizontalHeader();
headerView->setSectionResizeMode(QHeaderView::Stretch); // 设置列宽自适应
headerView->setSectionResizeMode(1, QHeaderView::Fixed); // 设置第2列固定宽度
headerView->resizeSection(1, 200); // 设置第2列宽度为200
headerView->setSectionResizeMode(1, QHeaderView::AlignCenter); // 设置第2列居中显示
```
上述代码中,`QHeaderView::AlignCenter`表示居中对齐方式,`1`表示第二列,可以根据实际需要修改。
阅读全文