QStandardItemModel 添加widget
时间: 2024-05-17 16:18:50 浏览: 219
完成listWidget样式和右键鼠标事件,QWidget添加一个widget以及listWidgetItem添加widget
5星 · 资源好评率100%
要在QStandardItemModel中添加widget,你需要继承QStandardItem并将其作为数据项添加到模型中。以下是一个示例代码:
```python
from PyQt5.QtWidgets import QStandardItem, QStandardItemModel, QPushButton
# 创建一个QStandardItemModel
model = QStandardItemModel()
# 创建一个QPushButton作为widget
button = QPushButton("Click me")
# 创建一个QStandardItem并将button设置为它的数据
item = QStandardItem()
item.setData(button, Qt.WidgetRole)
# 将item添加到模型中
model.appendRow(item)
```
在上面的示例中,我们首先创建了一个QStandardItemModel。然后,我们创建了一个QPushButton作为widget。接下来,我们创建了一个QStandardItem,并使用setData()方法将button设置为它的数据,同时将Qt.WidgetRole作为数据角色。最后,我们使用appendRow()方法将item添加到模型中。
这样,你就可以在QStandardItemModel中添加widget了。请注意,当你想在视图中显示这些widget时,你需要使用适当的视图类(例如QListView、QTableView等)来呈现模型。
阅读全文