从PyQt5中的QListWidget中删除项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从PyQt5中的QListWidget中删除项目相关的知识,希望对你有一定的参考价值。
我想在pyqt5中创建一个刷新按钮。我正在构建一个桌面应用程序。我编写了扫描特定文件夹的代码,并将文件名及其路径保存为数组。
数组值作为项添加到QListWidget
self.sampleChoose_list.addItems(sample_directory[0])
我正在尝试创建一个刷新数组值的函数并将其传递给QListWidget。
像这样的东西
self.refreshSamples.clicked.connect(self.refreshSample)
def refreshSample(self):
sample_directory = []
sample_files = []
for (dirpath, dirnames, filenames) in walk('./Samples'):
filenames = [f for f in filenames if not f[0] == '.']
sample_files.extend(filenames)
break
the_dir = "Samples"
paths = [os.path.abspath(os.path.join(the_dir,filename)) for filename in os.listdir(the_dir) if not filename.startswith('.')]
sample_directory.append(sample_files)
sample_directory.append(paths)
self.sampleChoose_list.addItems(sample_directory[0])
我遇到的问题是:当我按下刷新按钮时,会添加新项目,但不会删除旧项目。如何从QListWidget中删除项目?
答案
使用QListWidget.clear()
和它
删除视图中的所有项目和选择。
对于更具选择性的方法,你可以使用QListWidget.takeItem( index )
,它
从列表小部件中的给定行中删除并返回该项
Official Docs: clear()
Official Docs: takeItem()
以上是关于从PyQt5中的QListWidget中删除项目的主要内容,如果未能解决你的问题,请参考以下文章
在PyQt5中的QTreeWidget和QListWidget之间拖动项目?
如何在pyqt5 QlistWidget中选择多个项目并打印它们[重复]
一旦选择并按下 QButton,如何从 QListWidget 对象中获取项目作为字符串