I am trying to make a refresh button in pyqt5. I am building a desktop app. I wrote the code that scans particular folder and saves filenames and their paths as an array.
Array values are added to QListWidget as items
self.sampleChoose_list.addItems(sample_directory[0])
I am trying to make a function that refreshes values of the array and passes it to QListWidget.
Something like this
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])
The problem that I struggle with is: when I push refresh button, new items get added, but the old ones are not deleted. How to remove items from QListWidget?
refreshSamples
both for the button name and the signal – Gaspar