本文整理汇总了Python中qgis.PyQt.QtWidgets.QTreeWidgetItem.data方法的典型用法代码示例。如果您正苦于以下问题:Python QTreeWidgetItem.data方法的具体用法?Python QTreeWidgetItem.data怎么用?Python QTreeWidgetItem.data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.PyQt.QtWidgets.QTreeWidgetItem
的用法示例。
在下文中一共展示了QTreeWidgetItem.data方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DSManagerModel
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import data [as 别名]
class DSManagerModel(QAbstractItemModel):
__metaclass__ = QSingleton
COLUMN_GROUP_DS = 0
COLUMN_VISIBILITY = 1
COLUMN_SOURCE = 2
# instance = None
# @classmethod
# def getInstance(cls):
# if cls.instance
def __init__(self, parent=None):
super(DSManagerModel, self).__init__(parent)
self.columnNames = []
self.columnNames.insert(self.COLUMN_GROUP_DS, self.tr("Group/DS"))
self.columnNames.insert(self.COLUMN_VISIBILITY, self.tr("Visible"))
self.columnNames.insert(self.COLUMN_SOURCE, self.tr("Source"))
self.rootItem = QTreeWidgetItem(self.columnNames)
self.__setupModelData()
def resetModel(self):
self.beginResetModel()
self.__clear()
self.__setupModelData()
self.endResetModel()
self.modelReset.emit()
def __clear(self):
for groupIndex in range(self.rootItem.childCount() - 1, -1, -1):
groupItem = self.rootItem.child(groupIndex)
for dsIndex in range(groupItem.childCount() - 1, -1, -1):
dsItem = groupItem.child(dsIndex)
groupItem.removeChild(dsItem)
self.rootItem.removeChild(groupItem)
def __setupModelData(self):
dsList = DataSourcesList().data_sources.values()
groupInfoList = GroupsList().groups
groupsItems = []
groups = []
for ds in dsList:
if ds.group in groups:
group_item = groupsItems[groups.index(ds.group)]
else:
group_item = QTreeWidgetItem()
group_item.setData(self.COLUMN_GROUP_DS, Qt.DisplayRole, ds.group)
group_item.setData(self.COLUMN_VISIBILITY, Qt.DisplayRole, "")
group_item.setData(self.COLUMN_SOURCE, Qt.DisplayRole, ds.category)
group_item.setCheckState(self.COLUMN_VISIBILITY, Qt.Unchecked)
groupInfo = groupInfoList.get(ds.group)
if groupInfo is not None:
group_item.setIcon(self.COLUMN_GROUP_DS, QIcon(groupInfo.icon))
else:
group_item.setData(self.COLUMN_GROUP_DS, Qt.DisplayRole, ds.group + " (%s!)" % self.tr("group not found"))
group_item.setData(self.COLUMN_GROUP_DS, Qt.UserRole, groupInfo)
groups.append(ds.group)
groupsItems.append(group_item)
self.rootItem.addChild(group_item)
ds_item = QTreeWidgetItem()
ds_item.setData(self.COLUMN_GROUP_DS, Qt.DisplayRole, ds.alias)
ds_item.setIcon(self.COLUMN_GROUP_DS, QIcon(ds.icon_path))
ds_item.setData(self.COLUMN_GROUP_DS, Qt.UserRole, ds)
ds_item.setData(self.COLUMN_VISIBILITY, Qt.DisplayRole, "")
ds_item.setData(self.COLUMN_SOURCE, Qt.DisplayRole, ds.category)
ds_check_state = Qt.Checked
if ds.id in PluginSettings.get_hide_ds_id_list():
ds_check_state = Qt.Unchecked
ds_item.setCheckState(self.COLUMN_VISIBILITY, ds_check_state)
if group_item.childCount() != 0 and group_item.checkState(1) != ds_check_state:
group_item.setCheckState(self.COLUMN_VISIBILITY, Qt.PartiallyChecked)
else:
group_item.setCheckState(self.COLUMN_VISIBILITY, ds_check_state)
group_item.addChild(
ds_item
)
def setData(self, index, value, role):
if not index.isValid():
return False
else:
item = index.internalPointer()
if role == Qt.CheckStateRole:
item.setData(self.COLUMN_VISIBILITY, role, value)
self.dataChanged.emit(
index,
index
)
#.........这里部分代码省略.........