AttributeError: 'QTableView' object has no attribute 'setAlignment'
时间: 2023-10-04 21:08:55 浏览: 236
这个错误说明在 `QTableView` 对象中没有 `setAlignment` 属性。可能是因为你误认为 `setAlignment` 方法可以直接应用于 `QTableView` 对象,但实际上它是 `QStandardItemModel` 或者 `QStandardItem` 对象的方法。
要设置 `QTableView` 的对齐方式,你可以使用 `QStandardItemModel` 和 `QStandardItem` 对象来创建模型,并在模型中设置对齐方式,然后将模型设置给 `QTableView`。下面是一个示例代码:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QStandardItemModel, QStandardItem
from PyQt5.QtWidgets import QApplication, QTableView
# 创建应用程序
app = QApplication([])
# 创建模型和表格视图
model = QStandardItemModel()
tableView = QTableView()
# 添加表头
model.setHorizontalHeaderLabels(['Column 1', 'Column 2'])
# 添加数据项
item1 = QStandardItem('Item 1')
item1.setTextAlignment(Qt.AlignCenter) # 设置对齐方式
item2 = QStandardItem('Item 2')
item2.setTextAlignment(Qt.AlignRight) # 设置对齐方式
model.appendRow([item1, item2])
# 将模型设置给表格视图
tableView.setModel(model)
# 显示表格视图
tableView.show()
# 运行应用程序
app.exec()
```
在这个示例中,我们创建了一个 `QStandardItemModel` 对象来存储数据,并使用 `setTextAlignment` 方法来设置数据项的对齐方式。然后,我们将模型设置给 `QTableView` 对象,并最后显示表格视图。
希望这个解决方案能帮助到你!如果你有任何其他问题,请随时问我。
阅读全文