本文整理汇总了Python中qgis.PyQt.QtWidgets.QTreeWidgetItem.takeChild方法的典型用法代码示例。如果您正苦于以下问题:Python QTreeWidgetItem.takeChild方法的具体用法?Python QTreeWidgetItem.takeChild怎么用?Python QTreeWidgetItem.takeChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.PyQt.QtWidgets.QTreeWidgetItem
的用法示例。
在下文中一共展示了QTreeWidgetItem.takeChild方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DSManagerModel
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import takeChild [as 别名]
#.........这里部分代码省略.........
if not index.isValid():
item = self.rootItem
else:
item = index.internalPointer()
return item.flags()
def headerData(self, section, orientation, role):
if orientation == Qt.Horizontal and role == Qt.DisplayRole:
return self.rootItem.data(section, Qt.DisplayRole)
return None
def index(self, row, column, parent):
if not self.hasIndex(row, column, parent):
return QModelIndex()
if not parent.isValid():
parentItem = self.rootItem
else:
parentItem = parent.internalPointer()
childItem = parentItem.child(row)
if childItem:
return self.createIndex(row, column, childItem)
else:
return QModelIndex()
def parent(self, index):
if not index.isValid():
return QModelIndex()
childItem = index.internalPointer()
parentItem = childItem.parent()
if parentItem == self.rootItem:
return QModelIndex()
return self.createIndex(parentItem.parent().indexOfChild(parentItem), index.column(), parentItem)
def rowCount(self, parent):
if not parent.isValid():
parentItem = self.rootItem
else:
parentItem = parent.internalPointer()
return parentItem.childCount()
def sort(self, column, order=Qt.AscendingOrder):
self.layoutAboutToBeChanged.emit()
if column == self.COLUMN_VISIBILITY:
role = Qt.CheckStateRole
else:
role = Qt.DisplayRole
if order == Qt.AscendingOrder:
# compareFunc = lambda a, b: True if cmp(a, b) < 0 else False
compareFunc = lambda a, b: a < b # need to check
else:
# compareFunc = lambda a, b: True if cmp(a, b) > 0 else False
compareFunc = lambda a, b: a >= b # need to check
for groupIndexI in range(0, self.rootItem.childCount()):
for groupIndexJ in range(0, groupIndexI):
groupItemI = self.rootItem.child(groupIndexI)
groupItemJ = self.rootItem.child(groupIndexJ)
if compareFunc(groupItemI.data(column, role), groupItemJ.data(column, role)):
self.rootItem.insertChild(groupIndexJ, self.rootItem.takeChild(groupIndexI))
break
self.layoutChanged.emit()
def checkAll(self):
for row in range(0, self.rootItem.childCount()):
groupItem = self.rootItem.child(row)
groupIndex = self.createIndex(row, self.COLUMN_VISIBILITY, groupItem)
self.setData(groupIndex, Qt.Checked, Qt.CheckStateRole)
def uncheckAll(self):
for row in range(0, self.rootItem.childCount()):
groupItem = self.rootItem.child(row)
groupIndex = self.createIndex(row, self.COLUMN_VISIBILITY, groupItem)
self.setData(groupIndex, Qt.Unchecked, Qt.CheckStateRole)
def saveSettings(self):
hideDSidList = []
for groupIndex in range(0, self.rootItem.childCount()):
groupItem = self.rootItem.child(groupIndex)
for dsIndex in range(0, groupItem.childCount()):
dsItem = groupItem.child(dsIndex)
if dsItem.checkState(self.COLUMN_VISIBILITY) == Qt.Unchecked:
hideDSidList.append(dsItem.data(self.COLUMN_GROUP_DS, Qt.UserRole).id)
PluginSettings.set_hide_ds_id_list(hideDSidList)
def isGroup(self, index):
childItem = index.internalPointer()
parentItem = childItem.parent()
if parentItem == self.rootItem:
return True
return False