我们从Python开源项目中,提取了以下23个代码示例,用于说明如何使用PyQt4.QtGui.QTreeWidget()。
def rowsInserted(self, parent, start, end): QtGui.QTreeWidget.rowsInserted(self, parent, start, end) return # item = self.itemFromIndex(parent) # # print (parent,start,end) # # if item is not None and item.childCount() > 0: # print (item,item.text(0), item.childCount()) # if (item is not None and item.type() == PLOT_TYPE and item.child(start).type() == TRACE_TYPE): # child = item.takeChild(start) # if item.folder is None: # item.folder = TreeWidgetItem(item, ROUTINE_TYPE) # item.folder.addChild(child) # pass
def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(241, 367) self.gridLayout = QtGui.QGridLayout(Form) self.gridLayout.setSpacing(0) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.label = QtGui.QLabel(Form) self.label.setObjectName(_fromUtf8("label")) self.gridLayout.addWidget(self.label, 0, 0, 1, 3) self.itemTree = QtGui.QTreeWidget(Form) self.itemTree.setObjectName(_fromUtf8("itemTree")) self.itemTree.headerItem().setText(0, _fromUtf8("1")) self.itemTree.header().setVisible(False) self.gridLayout.addWidget(self.itemTree, 1, 0, 1, 3) self.label_2 = QtGui.QLabel(Form) self.label_2.setObjectName(_fromUtf8("label_2")) self.gridLayout.addWidget(self.label_2, 2, 0, 1, 3) self.formatList = QtGui.QListWidget(Form) self.formatList.setObjectName(_fromUtf8("formatList")) self.gridLayout.addWidget(self.formatList, 3, 0, 1, 3) self.exportBtn = QtGui.QPushButton(Form) self.exportBtn.setObjectName(_fromUtf8("exportBtn")) self.gridLayout.addWidget(self.exportBtn, 6, 1, 1, 1) self.closeBtn = QtGui.QPushButton(Form) self.closeBtn.setObjectName(_fromUtf8("closeBtn")) self.gridLayout.addWidget(self.closeBtn, 6, 2, 1, 1) self.paramTree = ParameterTree(Form) self.paramTree.setObjectName(_fromUtf8("paramTree")) self.paramTree.headerItem().setText(0, _fromUtf8("1")) self.paramTree.header().setVisible(False) self.gridLayout.addWidget(self.paramTree, 5, 0, 1, 3) self.label_3 = QtGui.QLabel(Form) self.label_3.setObjectName(_fromUtf8("label_3")) self.gridLayout.addWidget(self.label_3, 4, 0, 1, 3) self.copyBtn = QtGui.QPushButton(Form) self.copyBtn.setObjectName(_fromUtf8("copyBtn")) self.gridLayout.addWidget(self.copyBtn, 6, 0, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
def qtree(self): """ :rtype: QTreeWidget """ return self._tree
def __init__(self,List,parent): super(basicSelectorDialog,self).__init__(parent) self.item=None self.List=List #Done button self.btnDone=QtGui.QPushButton('Done') self.btnDone.connect(self.btnDone, QtCore.SIGNAL('clicked()'), self.donePressed) #QTreeWidget self.ListWidget=QtGui.QTreeWidget() self.ListWidget.setColumnWidth(0,100) self.ListWidget.itemClicked.connect(self.itemClicked) self.updateList() #Layout self.vbox = QtGui.QVBoxLayout() self.vbox.addWidget(self.ListWidget) self.hbox = QtGui.QHBoxLayout() self.hbox.addWidget(self.btnDone,stretch=0,alignment=QtCore.Qt.AlignRight) self.vbox.addLayout(self.hbox) self.setLayout(self.vbox) self.setWindowTitle('basicSelectorDialog') self.show()
def __init__(self,ROI,parent): super(polygonROIDialog,self).__init__(ROI,parent) #bookkeeping self.currCorner=None self.edges=None self.highlighted=None self.currInd=None #Labels self.lblCorners = QtGui.QLabel("Corners:", self) #TreeWidget self.cornerList=QtGui.QTreeWidget() self.cornerList.setHeaderLabels(["x","y"]) self.cornerList.itemClicked.connect(self.cornerSelected) #Buttons self.btnRemoveCorner=QtGui.QPushButton('Remove') self.btnRemoveCorner.connect(self.btnRemoveCorner, QtCore.SIGNAL('clicked()'), self.removeCornerPressed) #Layout nRows=self.grid.rowCount() self.grid.addWidget(self.lblCorners,nRows+1,2) self.grid.addWidget(self.cornerList,nRows+2,2) self.grid.addWidget(self.btnRemoveCorner,nRows+2,1) #Connect Canvas self.connectCanvas() self.show()
def mousePressEvent(self, e): if e.buttons() != QtCore.Qt.RightButton: return QtGui.QTreeWidget.mousePressEvent(self, e) hasSelection = len(self.selectionModel().selectedRows()) > 0 menu = QtGui.QMenu('') copyAction = QtGui.QAction(Lang.value('MI_Copy'), self) copyAction.triggered.connect(self.onCopy) copyAction.setEnabled(hasSelection) menu.addAction(copyAction) cutAction = QtGui.QAction(Lang.value('MI_Cut'), self) cutAction.triggered.connect(self.onCut) cutAction.setEnabled(hasSelection) menu.addAction(cutAction) pasteAction = QtGui.QAction(Lang.value('MI_Paste'), self) pasteAction.triggered.connect(self.onPaste) pasteAction.setEnabled(len(self.clipboard.text()) > 0) menu.addAction(pasteAction) saveSelection = QtGui.QAction(Lang.value('MI_Save_selection_as'), self) saveSelection.triggered.connect(self.onSaveSelectionAs) saveSelection.setEnabled(hasSelection) menu.addAction(saveSelection) menu.exec_(e.globalPos())
def initUI(self) : self.main_HLayout = QtGui.QHBoxLayout(self) self.left_Vlayout = QtGui.QVBoxLayout() self.tab_alignment = QtGui.QTabWidget() self.label_info = QtGui.QLabel(self.get_label_info()) self.label_info.setWordWrap(True) self.tree_transcripts = QtGui.QTreeWidget() self.tree_transcripts.mousePressEvent = self.tree_transcripts_mouse_event self.left_Vlayout.addWidget(self.label_info) self.left_Vlayout.addWidget(self.tree_transcripts) self.main_HLayout.addLayout(self.left_Vlayout) self.main_HLayout.addWidget(self.tab_alignment)
def tree_transcripts_mouse_event(self, event) : item = self.tree_transcripts.selectedItems() if item : item[0].setSelected(False) QtGui.QTreeWidget.mousePressEvent(self.tree_transcripts, event) item = self.tree_transcripts.selectedItems() if not item : return item = item[0] self.tree_transcripts.setItemExpanded(item, True)
def setLang(self, langName): lang_data = self.memoData['lang'][langName] for ui_name in lang_data.keys(): if ui_name in self.uiList.keys() and lang_data[ui_name] != '': ui_element = self.uiList[ui_name] # '' means no translation availdanle in that data file if isinstance(ui_element, (QtWidgets.QLabel, QtWidgets.QPushButton, QtWidgets.QAction, QtWidgets.QCheckBox) ): # uiType: QLabel, QPushButton, QAction(menuItem), QCheckBox ui_element.setText(lang_data[ui_name]) elif isinstance(ui_element, (QtWidgets.QGroupBox, QtWidgets.QMenu) ): # uiType: QMenu, QGroupBox ui_element.setTitle(lang_data[ui_name]) elif isinstance(ui_element, QtWidgets.QTabWidget): # uiType: QTabWidget tabCnt = ui_element.count() tabNameList = lang_data[ui_name].split(';') if len(tabNameList) == tabCnt: for i in range(tabCnt): if tabNameList[i] != '': ui_element.setTabText(i,tabNameList[i]) elif isinstance(ui_element, QtWidgets.QComboBox): # uiType: QComboBox itemCnt = ui_element.count() itemNameList = lang_data[ui_name].split(';') ui_element.clear() ui_element.addItems(itemNameList) elif isinstance(ui_element, QtWidgets.QTreeWidget): # uiType: QTreeWidget labelCnt = ui_element.headerItem().columnCount() labelList = lang_data[ui_name].split(';') ui_element.setHeaderLabels(labelList) elif isinstance(ui_element, QtWidgets.QTableWidget): # uiType: QTableWidget colCnt = ui_element.columnCount() headerList = lang_data[ui_name].split(';') cur_table.setHorizontalHeaderLabels( headerList ) elif isinstance(ui_element, (str, unicode) ): # uiType: string for msg self.uiList[ui_name] = lang_data[ui_name]
def __init__(self, parent=None): QtGui.QTreeWidget.__init__(self, parent) self.header().setHidden(False) self.setSelectionMode(self.SingleSelection) self.setDragDropMode(self.InternalMove) self.setDragEnabled(True) self.setDropIndicatorShown(True) self.invisibleRootItem().setFlags(QtCore.Qt.NoItemFlags) self.parentWidget = parent # TreeWidgetItem(self, PLAN_TYPE,0)
def __init__(self,parent,List,leftTitle="",rightTitle="",itemsRight=[]): super(listSelectorDialog,self).__init__(parent) #print type(self), type(parent) #QtGui.QDialog.__init__() self.itemsRight=itemsRight self.itemsLeft=list(List) self.List=List #Buttons self.btnAdd=QtGui.QToolButton() self.btnAdd.connect(self.btnAdd, QtCore.SIGNAL('clicked()'), self.addItem) self.btnAdd.setArrowType(QtCore.Qt.RightArrow) self.btnRemove=QtGui.QToolButton() self.btnRemove.connect(self.btnRemove, QtCore.SIGNAL('clicked()'), self.removeItem) self.btnRemove.setArrowType(QtCore.Qt.LeftArrow) self.btnDone=QtGui.QPushButton('Done') self.btnDone.connect(self.btnDone, QtCore.SIGNAL('clicked()'), self.donePressed) #Left QtreeWidgetItem self.leftList=QtGui.QTreeWidget() self.leftList.setHeaderLabels([leftTitle]) self.leftList.setColumnWidth(0,200) self.leftList.setColumnWidth(1,75) self.leftList.itemDoubleClicked.connect(self.addItem) #right QtreeWidgetItem self.rightList=QtGui.QTreeWidget() self.rightList.setHeaderLabels([rightTitle]) self.rightList.setColumnWidth(0,200) self.rightList.setColumnWidth(1,75) self.rightList.itemDoubleClicked.connect(self.removeItem) #Layout self.vbox = QtGui.QVBoxLayout() self.vbox.addWidget(self.btnAdd) self.vbox.addWidget(self.btnRemove) self.hbox = QtGui.QHBoxLayout() self.hbox.addWidget(self.leftList) self.hbox.addLayout(self.vbox) self.hbox.addWidget(self.rightList) self.vbox2 = QtGui.QVBoxLayout() self.vbox2.addLayout(self.hbox) self.vbox2.addWidget(self.btnDone) #Init lists self.initLeftList() self.initRightList() self.resize(400,500) self.setLayout(self.vbox2) self.setWindowTitle("list Selector Dialog") self.show()
def __init__(self,ROI,parent): super(customROIDialog,self).__init__(ROI,parent) #Labels self.lblAvailable = QtGui.QLabel("Available ROIs:", self) self.lblIncluded = QtGui.QLabel("Included ROIs:", self) #TreeWidget self.includedList=QtGui.QTreeWidget() self.includedList.setHeaderLabels(["name","operation"]) self.includedList.itemClicked.connect(self.includedSelected) self.availableList=QtGui.QTreeWidget() self.availableList.setHeaderLabels(["name"]) self.availableList.itemClicked.connect(self.availableSelected) #Buttons self.btnRemoveROI=QtGui.QPushButton('Remove') self.btnRemoveROI.connect(self.btnRemoveROI, QtCore.SIGNAL('clicked()'), self.removeROI) self.btnAddROI=QtGui.QPushButton('Add') self.btnAddROI.connect(self.btnAddROI, QtCore.SIGNAL('clicked()'), self.addROI) self.btnSubsctractROI=QtGui.QPushButton('Substract') self.btnSubsctractROI.connect(self.btnSubsctractROI, QtCore.SIGNAL('clicked()'), self.substractROI) self.btnMoveUp=QtGui.QPushButton('Move Up') self.btnMoveUp.connect(self.btnMoveUp, QtCore.SIGNAL('clicked()'), self.moveROIUp) self.btnMoveDown=QtGui.QPushButton('Move Down') self.btnMoveDown.connect(self.btnMoveDown, QtCore.SIGNAL('clicked()'), self.moveROIDown) #Layout nRows=self.grid.rowCount() self.grid.addWidget(self.lblAvailable,nRows+1,2) self.grid.addWidget(self.availableList,nRows+2,2,4,1) self.grid.addWidget(self.btnAddROI,nRows+6,1) self.grid.addWidget(self.btnSubsctractROI,nRows+6,2) self.grid.addWidget(self.lblIncluded,nRows+7,2) self.grid.addWidget(self.includedList,nRows+8,2,4,1) self.grid.addWidget(self.btnRemoveROI,nRows+8,1) self.grid.addWidget(self.btnMoveUp,nRows+9,1) self.grid.addWidget(self.btnMoveDown,nRows+10,1) self.updateAvailableList() self.updateIncludedList() self.show()
def __init__(self, ecuscan, treeview_ecu): super(Ecu_list, self).__init__() self.selected = '' self.treeview_ecu = treeview_ecu self.vehicle_combo = gui.QComboBox() self.ecu_map = {} vehicles = [ "ALL", "XBA - KWID CN", "XBB - KWID BR", "X06 - TWINGO", "X44 - TWINGO II", "X07 - TWINGO III", "X77 - MODUS", "X35 - SYMBOL/THALIA", "X65 - CLIO II", "X85 - CLIO III", "X98 - CLIO IV", "XJA - CLIO V", "X87 - CAPTUR", "XJB - CAPTUR II", "X38 - FLUENCE", "XFF - FLUENCE II", "X64 - MEGANE/SCENIC I", "X84 - MEGANE/SCENIC II", "X95 - MEGANE/SCENIC III", "XFB - MEGANE IV", "XFA - SCENIC IV", "X56 - LAGUNA", "X74 - LAGUNA II", "X91 - LAGUNA III", "X47 - LAGUNA III (tricorps)", "X66 - ESPACE III", "X81 - ESPACE IV", "XFC - ESPACE V", "X73 - VELSATIS", "X43 - LATITUDE", "XFD - TALISMAN", "H45 - KOLEOS", "XZG - KOLEOS II", "HFE - KADJAR", "X33 - WIND", "X09 - TWIZY", "X10 - ZOE", "X76 - KANGOO I", "X61 - KANGOO II", "XFK - KANGOO III", "X24 - MASCOTT", "X83 - TRAFFIC II", "X82 - TRAFFIC III", "X70 - MASTER II", "X62 - MASTER III", "X90 - LOGAN/SANDERO", "X52 - LOGAN/SANDERO II", "X79 - DUSTER", "XJD - DUSTER II", "X67 - DOKKER", "X92 - LODGY", "X02 - MICRA (NISSAN)", "X21 - NOTE (NISSAN)" ] for v in vehicles: self.vehicle_combo.addItem(v) self.vehicle_combo.activated.connect(self.filterProject) layout = gui.QVBoxLayout() layouth = gui.QHBoxLayout() scanbutton = gui.QPushButton() scanbutton.setIcon(gui.QIcon("icons/scan.png")) scanbutton.clicked.connect(self.scanselvehicle) layouth.addWidget(self.vehicle_combo) layouth.addWidget(scanbutton) layout.addLayout(layouth) self.setLayout(layout) self.list = gui.QTreeWidget(self) self.list.setSelectionMode(gui.QAbstractItemView.SingleSelection) layout.addWidget(self.list) self.ecuscan = ecuscan self.list.doubleClicked.connect(self.ecuSel) self.init()
def __init__(self, parent=None, mode=0): QtWidgets.QMainWindow.__init__(self, parent) #------------------------------ # class variables #------------------------------ self.version = '0.1' self.date = '2017.01.01' self.log = 'no version log in user class' self.help = 'no help guide in user class' self.uiList={} # for ui obj storage self.memoData = {} # key based variable data storage self.memoData['font_size_default'] = QtGui.QFont().pointSize() self.memoData['font_size'] = self.memoData['font_size_default'] self.memoData['last_export'] = '' self.memoData['last_import'] = '' self.name = self.__class__.__name__ self.location = '' if getattr(sys, 'frozen', False): # frozen - cx_freeze self.location = sys.executable else: # unfrozen self.location = os.path.realpath(sys.modules[self.__class__.__module__].__file__) self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png') self.iconPix = QtGui.QPixmap(self.iconPath) self.icon = QtGui.QIcon(self.iconPath) self.fileType='.{0}_EXT'.format(self.name) #------------------------------ # core function variable #------------------------------ self.qui_core_dict = { 'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout', 'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget', 'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox', 'txt': 'QTextEdit', 'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget', 'space': 'QSpacerItem', 'menu' : 'QMenu', 'menubar' : 'QMenuBar', } self.qui_user_dict = {}
def __init__(self, parent=None, mode=0): super_class.__init__(self, parent) #------------------------------ # class variables #------------------------------ self.version = "0.1" self.date = '2017.01.01' self.log = 'no version log in user class' self.help = 'no help guide in user class' self.uiList={} # for ui obj storage self.memoData = {} # key based variable data storage self.memoData['font_size_default'] = QtGui.QFont().pointSize() self.memoData['font_size'] = self.memoData['font_size_default'] self.memoData['last_export'] = '' self.memoData['last_import'] = '' self.location = "" if getattr(sys, 'frozen', False): # frozen - cx_freeze self.location = sys.executable else: # unfrozen self.location = os.path.realpath(sys.modules[self.__class__.__module__].__file__) self.name = self.__class__.__name__ self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png') self.iconPix = QtGui.QPixmap(self.iconPath) self.icon = QtGui.QIcon(self.iconPath) self.fileType='.{0}_EXT'.format(self.name) #------------------------------ # core function variable #------------------------------ self.qui_core_dict = { 'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout', 'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget', 'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox', 'txt': 'QTextEdit', 'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget', 'space': 'QSpacerItem', 'menu' : 'QMenu', 'menubar' : 'QMenuBar', } self.qui_user_dict = {} #------------------------------
def __init__(self, parent=None, mode=0): super_class.__init__(self, parent) #------------------------------ # class variables #------------------------------ self.version="0.1" self.help = "How to Use:\n1. Put source info in\n2. Click Process button\n3. Check result output\n4. Save memory info into a file." self.uiList={} # for ui obj storage self.memoData = {} # key based variable data storage self.location = "" if getattr(sys, 'frozen', False): # frozen - cx_freeze self.location = sys.executable else: # unfrozen self.location = os.path.realpath(sys.modules[self.__class__.__module__].__file__) self.name = self.__class__.__name__ self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png') self.iconPix = QtGui.QPixmap(self.iconPath) self.icon = QtGui.QIcon(self.iconPath) self.fileType='.{0}_EXT'.format(self.name) #------------------------------ # core function variable #------------------------------ self.qui_core_dict = { 'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout', 'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget', 'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox', 'txt': 'QTextEdit', 'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget', 'space': 'QSpacerItem', } self.qui_user_dict = {} #------------------------------
def qui(self, ui_list_string, parentObject_string='', opt=''): # pre-defined user short name syntax type_dict = { 'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout', 'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget', 'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox', 'txt': 'QTextEdit', 'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget', 'space': 'QSpacerItem', } # get ui_list, creation or existing ui object ui_list = [x.strip() for x in ui_list_string.split('|')] for i in range(len(ui_list)): if ui_list[i] in self.uiList: # - exisiting object ui_list[i] = self.uiList[ui_list[i]] else: # - string creation: # get part info partInfo = ui_list[i].split(';',1) uiName = partInfo[0].split('@')[0] uiType = uiName.rsplit('_',1)[-1] if uiType in type_dict: uiType = type_dict[uiType] # set quickUI string format ui_list[i] = partInfo[0]+';'+uiType if len(partInfo)==1: # give empty button and label a place holder name if uiType in ('btn', 'btnMsg', 'QPushButton','label', 'QLabel'): ui_list[i] = partInfo[0]+';'+uiType + ';'+uiName elif len(partInfo)==2: ui_list[i]=ui_list[i]+";"+partInfo[1] # get parentObject or exisiting object parentObject = parentObject_string if parentObject in self.uiList: parentObject = self.uiList[parentObject] # process quickUI self.quickUI(ui_list, parentObject, opt)