2015-06-22 33 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