def __init__(self, obj_map): self.obj_map = obj_map super().__init__() self.setWindowTitle("Object File Browser") self.childen_windows = [] layout = QVBoxLayout() monospaced_font = get_monospaced_font() layout.addWidget(QLabel("Browse object files by dgo...")) # Set up the tree view self.tree = QTreeView() self.tree_model = QStandardItemModel() self.tree_root = self.tree_model.invisibleRootItem() for dgo_name, dgo in obj_map.dgo_files.items(): dgo_entry = QStandardItem(dgo_name) dgo_entry.setFont(monospaced_font) dgo_entry.setEditable(False) for obj_name, obj in dgo.obj_files.items(): obj_entry = QStandardItem(obj_name) obj_entry.setFont(monospaced_font) obj_entry.setEditable(False) dgo_entry.appendRow(obj_entry) self.tree_root.appendRow(dgo_entry) self.tree.setModel(self.tree_model) self.tree.clicked.connect(self.handle_tree_click) self.tree.doubleClicked.connect(self.handle_tree_double_click) layout.addWidget(self.tree) # Set up the Search Box layout.addWidget(QLabel("Or search for object (regex):")) self.search_box = QLineEdit() self.search_box.textChanged.connect(self.handle_search_change) layout.addWidget(self.search_box) # Set up Search Results self.search_result = QListView() layout.addWidget(self.search_result) self.search_result.clicked.connect(self.handle_search_result_click) self.search_result.doubleClicked.connect( self.handle_search_result_double_click) self.search_result.setMaximumHeight(200) # Set up the info box at the bottom self.text_box = QPlainTextEdit() self.text_box.setReadOnly(True) self.text_box.setFont(monospaced_font) layout.addWidget(self.text_box) self.text_box.setMaximumHeight(100) self.text_box.setPlainText( "Select an object file to see details. Double click to open.") # add it to the window! widget = QWidget() widget.setLayout(layout) self.setCentralWidget(widget)
def insertProject(self, project): """Função responsável por inserir um novo projeto na árvore da UI""" projeto = QStandardItem(project.name) # Adiciona todas as listas que o projeto possui for key in sorted(project.dirList): lista1 = QStandardItem(project.dirList[key].name) projeto.appendRow(lista1) self.rootNode.appendRow(projeto)
def __init__(self): super().__init__() self.setWindowTitle('World Country Diagram') self.resize(500, 700) treeView = QTreeView() treeView.setHeaderHidden(False) treeModel = QStandardItemModel() self.most_used_cat_header = [ 'Nom', "Prénom", "Sexe", "Date Inscription", "Courriel Client", "Mot de passe", "Numéro de carte", "Expiration", "Code" ] treeModel.setHorizontalHeaderLabels(self.most_used_cat_header) rootNode = treeModel.invisibleRootItem() # America america = QStandardItem('America') california = QStandardItem('California') america.appendRow(california) oakland = QStandardItem('Oakland') sanfrancisco = QStandardItem('San Francisco') sanjose = QStandardItem('San Jose') california.appendRow(oakland) california.appendRow(sanfrancisco) california.appendRow(sanjose) texas = QStandardItem('Texas') america.appendRow(texas) austin = QStandardItem('Austin') houston = QStandardItem('Houston') dallas = QStandardItem('dallas') testo = QStandardItem("testo") testo2 = QStandardItem("testo2") testo3 = QStandardItem("testo3") vide1 = QStandardItem("") vide2 = QStandardItem("") vide3 = QStandardItem("") item = (austin, houston, dallas) america.appendRow(item) item2 = (vide1, vide2, vide3, testo, testo2, testo3) #texas.appendRow(austin) #texas.appendRow(houston) #texas.appendRow(dallas) austin.appendRow(item2) # Canada canada = QStandardItem('Canada') alberta = QStandardItem('Alberta') bc = QStandardItem('British Columbia') ontario = QStandardItem('Ontario') canada.appendRows([alberta, bc, ontario]) rootNode.appendRow(america) rootNode.appendRow(canada) treeView.setModel(treeModel) treeView.expandAll() treeView.doubleClicked.connect(self.getValue) self.setCentralWidget(treeView)