QTableWidgetItem 居中显示pixmap文件
时间: 2023-08-02 18:09:12 浏览: 60
在 PyQt 中,可以使用 `QTableWidgetItem` 的 `setData()` 方法来设置 `Qt::DecorationRole` 角色的数据,从而在表格中显示一个图片或者图标,并使用 `setTextAlignment()` 方法来将其居中显示。
以下是一个示例代码,以便更好地理解:
```python
from PyQt5.QtWidgets import QTableWidgetItem, QTableWidget
from PyQt5.QtGui import QPixmap, QIcon, QColor
# 创建一个 QTableWidget
table = QTableWidget()
# 创建一个 QPixmap
pixmap = QPixmap("image.png")
# 创建一个 QTableWidgetItem,并将 QPixmap 设置为它的数据
item = QTableWidgetItem()
item.setData(Qt.DecorationRole, pixmap)
# 将 QTableWidgetItem 居中显示
item.setTextAlignment(Qt.AlignCenter)
# 将 QTableWidgetItem 添加到 QTableWidget 中
table.setItem(0, 0, item)
```
在上面的代码中,我们首先创建了一个 `QTableWidget`,然后创建了一个 `QPixmap`,接着创建了一个 `QTableWidgetItem`,并将 `QPixmap` 设置为 `Qt::DecorationRole` 角色的数据。最后,我们使用 `Qt::AlignCenter` 将 `QTableWidgetItem` 居中显示,并将其添加到 `QTableWidget` 中。
值得注意的是,如果在表格中显示的图片或图标比较小,可以使用 `setIconSize()` 方法来设置它们的大小,以便更好的显示。例如:
```python
table.setIconSize(QSize(32, 32))
```
这将会将图标的大小设置为 32x32 像素。