【发布时间】:2015-09-13 13:12:02
【问题描述】:
我制作了一个允许将项目添加到树(父+子或子)的函数。
def addItemsToSummary(self, parent, text, checkable=False, expanded=True):
self.tabItems = []
self.tabParent.append(text)
self.item = QTreeWidgetItem(parent, [text])
lhs, rhs = self.item.text(0).split("=", 1)
self.nominalValue,_ = rhs.split(")", 1)
print(self.nominalValue)
self.val = re.findall('\w+', self.nominalValue)
print(self.val)
print(self.val[0])
print(self.val[1])
if checkable:
self.item.setCheckState(0, Qt.Unchecked)
else:
self.item.setFlags(self.item.flags() & ~Qt.ItemIsUserCheckable)
self.item.setExpanded(expanded)
self.addChildToSummary(self.item, ["Nominal value = ", self.val[0], self.val[1]])
self.addChildToSummary(self.item, ["Min =","",self.val[1]])
self.addChildToSummary(self.item, ["Max =","",self.val[1]])
self.addChildToSummary(self.item, ["Type = ", "float",''])
self.addChildToSummary(self.item, ["Relation =","",""])
if self.tabItems is not None:
self.tabAnalysis.append(self.tabItems)
return self.tabAnalysis, self.nominalValue
我制作了另一个函数,允许将每个子项添加到一个项目(父项)。
def addChildToSummary(self, parent, tab):
item1 = QTreeWidgetItem(parent, [tab[0]])
item2 = QTreeWidgetItem(parent, [tab[1]])
item3 = QTreeWidgetItem(parent, [tab[2]])
item2.setFlags(item2.flags() | Qt.ItemIsEditable)
self.tabChild.append((item1.text(0),item2.text(0),item3.text(0)))
print(item2.text(0))
self.tabItems.append([parent.text(0),(item1.text(0),item2.text(0),item3.text(0))])
return item1, item2, self.tabItems
我想知道是否可以将每个QTreeWidgetItem 放入QTreeWidget 的列中。
【问题讨论】:
-
为什么不只有两列
QTreeWidgetItems 是您想要的任何级别的子级,其中第一列包含不可编辑的最小/最大标签,第二列包含可编辑单元格,如树视图的其余部分? -
这是一个更好的主意,我已经编辑了我的帖子。
标签: python python-3.x pyqt pyqt5