def display_count_tree(self): self.reset_model() for image in self.canvas.points: image_item = QtGui.QStandardItem(image) image_item.setEditable(False) class_item = QtGui.QStandardItem('') class_item.setEditable(False) self.model.appendRow([image_item, class_item]) if image == self.canvas.current_image_name: font = image_item.font() font.setBold(True) image_item.setFont(font) self.treeView.setExpanded(image_item.index(), True) self.current_model_index = image_item.index() for class_name in self.canvas.classes: class_item = QtGui.QStandardItem(class_name) class_item.setEditable(False) class_item.setSelectable(False) class_count = QtGui.QStandardItem('0') if class_name in self.canvas.points[image]: class_count = QtGui.QStandardItem( str(len(self.canvas.points[image][class_name]))) class_count.setEditable(False) class_count.setSelectable(False) image_item.appendRow([class_item, class_count]) self.treeView.scrollTo(self.current_model_index)
def add_node(self, parent_path, list_elem): nodes = [] for e in list_elem: node = QtGui.QStandardItem() node.setText(e) path = os.path.join(parent_path, e) if os.path.isdir(path): childrens = os.listdir(path) node.appendRows(self.add_node(path, childrens)) nodes.append(node) return nodes
def update_autocompletion(self, model): print("self.target_path = " + self.target_path) #reinit the model if os.path.isdir(self.target_path): #get all element in path list_elem = os.listdir(self.target_path) list_dir = [] #filter only folder in this path for e in list_elem: if os.path.isdir(os.path.join(self.target_path, e)): list_dir.append(e) #convert it as items and add it to the model completer for d in list_dir: model.appendRow(QtGui.QStandardItem(d)) completer = QtWidgets.QCompleter(model, self) return completer print("list_dir = " + str(list_dir))