def __build_list(self, control, parent_dir): for _, dirnames, filesnames in os.walk(parent_dir): dirnames.sort() filesnames.sort() for dir in dirnames: item = QTreeWidgetItem(control) item.setText(0, dir) item.setIcon(0, self.__icon_folder) item.name = dir item.dir = parent_dir item.is_file = False self.__build_list(item, os.path.join(parent_dir, dir)) for file in filesnames: item = QTreeWidgetItem(control) item.setText(0, file) item.setIcon(0, self.__icon_firmware) item.name = file item.dir = parent_dir item.is_file = True return