2015-06-22 32 views
1

是否可以將QLineEdit()放入QTreeWidgetItem()中以修改QTreeWidgetItem的文本?將QLineEdit()放入QTreeWidgetItem()中

這裏是我的代碼

def addItemsToTree(self, parent, text, checkable=False, expanded=True): 
    self.item = QTreeWidgetItem(parent, [text]) 
    if checkable: 
     self.item.setCheckState(0, Qt.Unchecked) 
    else: 
     self.item.setFlags(self.item.flags() & ~Qt.ItemIsUserCheckable) 
    self.item.setExpanded(expanded) 
    min = QLineEdit() 
    max = QLineEdit() 
    self.addChildTree(self.item, self.column, "Min =", "Min =") 
    self.addChildTree(self.item, self.column, "Max =", "Max =") 
    return self.item 

def addChildTree(self, parent, column, title, data): 
    item = QTreeWidgetItem(parent, [title]) 
    item.setData(column, Qt.UserRole, data) 
    return item 

回答

3

應該足以設置你的項目的標誌,包括ItemIsEditable

self.item.setFlags(self.item.flags() | Qt.ItemIsEditable) 

您還可以配置EditTriggers,只要你喜歡,開始編輯,例如當雙擊一個項目:

treeView.setEditTriggers(QtGui.QAbstractItemView.DoubleClicked) 

雙擊您的treewidget的項目現在應該打開一個編輯器 - 它默認是一個簡單的QLineEdit