Python中如何使用PyQt5在QListWidget里添加内容
我想在 PyQt5 中的 QlistWidgets 控件中添加内容,需要怎么做?
Python中如何使用PyQt5在QListWidget里添加内容
6 回复
https://www.tutorialspoint.com/pyqt/pyqt_qlistwidget.htm
估计这里的大佬很多都在心里暗暗喷你是伸手党,正好最近在看 QT 分享一下
在PyQt5里往QListWidget里加内容,直接用addItem()就行。这玩意儿接受字符串或者QListWidgetItem对象。下面是个完整的例子,展示了两种添加方式,以及如何清空列表。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QListWidget, QPushButton, QListWidgetItem
class ListWidgetDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QListWidget 示例')
self.setGeometry(300, 300, 300, 250)
layout = QVBoxLayout()
# 创建列表控件
self.list_widget = QListWidget()
layout.addWidget(self.list_widget)
# 创建按钮
btn_add_str = QPushButton('添加字符串项')
btn_add_str.clicked.connect(self.add_string_item)
layout.addWidget(btn_add_str)
btn_add_custom = QPushButton('添加自定义项')
btn_add_custom.clicked.connect(self.add_custom_item)
layout.addWidget(btn_add_custom)
btn_clear = QPushButton('清空列表')
btn_clear.clicked.connect(self.list_widget.clear)
layout.addWidget(btn_clear)
self.setLayout(layout)
def add_string_item(self):
# 方法1: 直接添加字符串
item_text = f'项目 {self.list_widget.count() + 1}'
self.list_widget.addItem(item_text)
def add_custom_item(self):
# 方法2: 创建 QListWidgetItem 对象,可以设置更多属性
item = QListWidgetItem(f'自定义项目 {self.list_widget.count() + 1}')
# 例如,可以设置项目为不可选
# item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
self.list_widget.addItem(item)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = ListWidgetDemo()
ex.show()
sys.exit(app.exec_())
运行这段代码,你会看到一个带三个按钮的窗口。点击“添加字符串项”会用addItem()直接加个文本进去。点击“添加自定义项”会先创建一个QListWidgetItem对象再加进去,这种方式更灵活,你可以在添加前设置字体、颜色、图标或者状态(比如不可选)。点击“清空列表”就调用clear()方法。
简单说,想加东西就用addItem()。
好吧~~ 我是新来的 不懂规矩
查不到就去看 Qt 官网的资料,再没有就去看 Qt 源码(
这个推荐的不错 比我以前看的另外一个英文教程有更多的内容

