一、重写QStyledItemDelegate的paint()方法,通过style().drawControl()方法显示button
此方法成功
QPushButton().style().drawControl(QStyle.ControlElement.CE_PushButton, button, painter)
https://blog.csdn.net/newxh/article/details/134725387
二、重写QStyledItemDelegate的paint()方法,通过widget.show()方法显示button
此方法不成功
widget = QtWidgets.QPushButton('painter')
widget.setGeometry(option.rect)
widget.show()
https://blog.csdn.net/qq_45608830/article/details/116859564?spm=1001.2014.3001.5506
二、重写QStyledItemDelegate的createEditor()方法
此方法成功
def createEditor(self, parent, option, index):
button = QPushButton(parent)
button.setText("Click Me")
return button
三、通过QListView的setIndexWidget方法设置
此方法成功