解决 Python PyQt 中 'QListWidgetItem' 对象没有 'setLayout' 属性的错误
因为 'QListWidgetItem' 是一个列表项,它没有 'setLayout()' 方法。'setLayout()' 方法只能应用于 'QWidget' 或其子类,如 'QHBoxLayout'、'QVBoxLayout' 等。如果想在列表项中添加控件,需要将控件添加到 'QWidget' 中,然后再将 'QWidget' 添加到 'QListWidget' 中。例如:
# 创建一个 QWidget 对象
widget = QWidget()
# 创建一个布局
layout = QVBoxLayout()
# 在布局中添加控件
layout.addWidget(QPushButton('Button 1'))
layout.addWidget(QPushButton('Button 2'))
# 将布局设置为 QWidget 的布局
widget.setLayout(layout)
# 创建一个 QListWidgetItem 对象
item = QListWidgetItem()
# 将 QWidget 添加到 QListWidgetItem 中
item.setSizeHint(widget.sizeHint()) # 设置大小
memo_list.addItem(item)
memo_list.setItemWidget(item, widget)
原文地址: https://www.cveoy.top/t/topic/oQS0 著作权归作者所有。请勿转载和采集!