def _treeItemClicked(self, index): items = self._libraryTreeModel.getSubItems(index) self._listWidget.clear() for item in items: item_text = item.name.replace('_', ' ') listItem = QtWidgets.QListWidgetItem(item.preview, item_text, self._listWidget) listItem.setToolTip(item_text) listItem.setSizeHint(QtCore.QSize(PREVIEW_SIZE + 10, PREVIEW_SIZE + 40)) self._setItemHidden(listItem) self._listWidget.addItem(listItem)
def __init__(self, scipt='lz_quick_vex', rows=4): super(LZ_vex_interface, self).__init__() #create Layout mainLayout = QtWidgets.QGridLayout() self.callbackDict = {} # read json import json hext = hou.expandString('$HEXT') self.json = json.load(open(hext + '/' + scipt + '.txt')) i = 0 # fill lists for list_key in sorted(self.json.keys()): # create list widget new_list = QtWidgets.QListWidget() items = self.json[list_key] for key in sorted(items.keys()): list_item = QtWidgets.QListWidgetItem(key) picName = key.split(". ")[len(key.split(". ")) - 1].lower().replace(":", "").replace( " ", "") #print picNam pic_path = hou.expandString( '$HEXT\pic') + '\\' + picName + r".svg" if os.path.isfile(pic_path): list_item.setIcon(QtGui.QIcon(pic_path)) new_list.addItem(list_item) self.callbackDict[key] = items[key] new_list.doubleClicked.connect(self.doubleClickedList) # create label label = QtWidgets.QLabel(list_key) #fill layout = QtWidgets.QVBoxLayout() layout.addWidget(label) layout.addWidget(new_list) mainLayout.addLayout(layout, i / rows, i % rows) i += 1 #set Layout self.setStyleSheet("background-color: hsv(0,0,45);") self.setLayout(mainLayout)