本文整理汇总了Python中qgis.PyQt.QtWidgets.QTreeWidgetItem.setFlags方法的典型用法代码示例。如果您正苦于以下问题:Python QTreeWidgetItem.setFlags方法的具体用法?Python QTreeWidgetItem.setFlags怎么用?Python QTreeWidgetItem.setFlags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.PyQt.QtWidgets.QTreeWidgetItem
的用法示例。
在下文中一共展示了QTreeWidgetItem.setFlags方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def __init__(self):
super(ScriptSelector, self).__init__(None)
self.setupUi(self)
self.scripts = None
allScripts = defaultdict(list)
alglist = algList.getProviderFromName("script").algs
for script in alglist:
allScripts[script.group].append(script)
for group, groupScripts in list(allScripts.items()):
groupItem = QTreeWidgetItem()
groupItem.setText(0, group)
groupItem.setFlags(groupItem.flags() | Qt.ItemIsTristate)
for script in groupScripts:
scriptItem = QTreeWidgetItem()
scriptItem.setFlags(scriptItem.flags() | Qt.ItemIsUserCheckable)
scriptItem.setCheckState(0, Qt.Checked)
scriptItem.script = script
scriptItem.setText(0, script.name)
groupItem.addChild(scriptItem)
self.scriptsTree.addTopLevelItem(groupItem)
self.scriptsTree.expandAll()
self.selectAllLabel.linkActivated.connect(lambda: self.checkScripts(True))
self.unselectAllLabel.linkActivated.connect(lambda: self.checkScripts(False))
self.folderButton.clicked.connect(self.selectFolder)
self.buttonBox.accepted.connect(self.okPressed)
self.buttonBox.rejected.connect(self.cancelPressed)
示例2: fillInputsTree
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def fillInputsTree(self):
icon = QIcon(os.path.join(pluginPath, 'images', 'input.png'))
parametersItem = QTreeWidgetItem()
parametersItem.setText(0, self.tr('Parameters'))
for paramType in ModelerParameterDefinitionDialog.paramTypes:
paramItem = QTreeWidgetItem()
paramItem.setText(0, paramType)
paramItem.setIcon(0, icon)
paramItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled)
parametersItem.addChild(paramItem)
self.inputsTree.addTopLevelItem(parametersItem)
parametersItem.setExpanded(True)
示例3: fillInputsTree
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def fillInputsTree(self):
icon = QIcon(os.path.join(pluginPath, 'images', 'input.svg'))
parametersItem = QTreeWidgetItem()
parametersItem.setText(0, self.tr('Parameters'))
sortedParams = sorted(QgsApplication.instance().processingRegistry().parameterTypes(), key=lambda pt: pt.name())
for param in sortedParams:
if param.flags() & QgsProcessingParameterType.ExposeToModeler:
paramItem = QTreeWidgetItem()
paramItem.setText(0, param.name())
paramItem.setData(0, Qt.UserRole, param.id())
paramItem.setIcon(0, icon)
paramItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled)
paramItem.setToolTip(0, param.description())
parametersItem.addChild(paramItem)
self.inputsTree.addTopLevelItem(parametersItem)
parametersItem.setExpanded(True)
示例4: fillInputsTree
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def fillInputsTree(self):
from processing.core.Processing import Processing
icon = QIcon(os.path.join(pluginPath, 'images', 'input.svg'))
parametersItem = QTreeWidgetItem()
parametersItem.setText(0, self.tr('Parameters'))
sortedParams = sorted(Processing.registeredParameters().items())
for param in sortedParams:
if param[1]['exposeToModeller']:
paramItem = QTreeWidgetItem()
paramItem.setText(0, param[1]['name'])
paramItem.setData(0, Qt.UserRole, param[0])
paramItem.setIcon(0, icon)
paramItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled)
paramItem.setToolTip(0, param[1]['description'])
parametersItem.addChild(paramItem)
self.inputsTree.addTopLevelItem(parametersItem)
parametersItem.setExpanded(True)
示例5: fillAlgorithmTreeUsingProviders
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def fillAlgorithmTreeUsingProviders(self):
self.algorithmTree.clear()
text = str(self.searchBox.text())
search_strings = text.split(' ')
qgis_groups = {}
for provider in QgsApplication.processingRegistry().providers():
if not provider.isActive():
continue
groups = {}
# Add algorithms
for alg in provider.algorithms():
if alg.flags() & QgsProcessingAlgorithm.FlagHideFromModeler:
continue
if alg.id() == self.model.id():
continue
item_text = [alg.displayName().lower()]
item_text.extend(alg.tags())
show = not search_strings or all(
any(part in t for t in item_text)
for part in search_strings)
if show:
if alg.group() in groups:
groupItem = groups[alg.group()]
elif provider.id() in ('qgis', 'native') and alg.group() in qgis_groups:
groupItem = qgis_groups[alg.group()]
else:
groupItem = QTreeWidgetItem()
name = alg.group()
groupItem.setText(0, name)
groupItem.setToolTip(0, name)
groupItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
if provider.id() in ('qgis', 'native'):
groupItem.setIcon(0, provider.icon())
qgis_groups[alg.group()] = groupItem
else:
groups[alg.group()] = groupItem
algItem = TreeAlgorithmItem(alg)
groupItem.addChild(algItem)
if len(groups) > 0:
providerItem = QTreeWidgetItem()
providerItem.setText(0, provider.name())
providerItem.setToolTip(0, provider.name())
providerItem.setIcon(0, provider.icon())
providerItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
for groupItem in list(groups.values()):
providerItem.addChild(groupItem)
self.algorithmTree.addTopLevelItem(providerItem)
providerItem.setExpanded(text != '')
for groupItem in list(groups.values()):
if text != '':
groupItem.setExpanded(True)
if len(qgis_groups) > 0:
for groupItem in list(qgis_groups.values()):
self.algorithmTree.addTopLevelItem(groupItem)
for groupItem in list(qgis_groups.values()):
if text != '':
groupItem.setExpanded(True)
self.algorithmTree.sortItems(0, Qt.AscendingOrder)
示例6: populate_classified_values
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def populate_classified_values(
unassigned_values, assigned_values, default_classes,
list_unique_values, tree_mapping_widget):
"""Populate lstUniqueValues and treeClasses.from the parameters.
:param unassigned_values: List of values that haven't been assigned
to a class. It will be put in list_unique_values.
:type unassigned_values: list
:param assigned_values: Dictionary with class as the key and list of
value as the value of the dictionary. It will be put in
tree_mapping_widget.
:type assigned_values: dict
:param default_classes: Default classes from unit.
:type default_classes: list
:param list_unique_values: List Widget for unique values
:type list_unique_values: QListWidget
:param tree_mapping_widget: Tree Widget for classifying.
:type tree_mapping_widget: QTreeWidget
"""
# Populate the unique values list
list_unique_values.clear()
list_unique_values.setSelectionMode(
QAbstractItemView.ExtendedSelection)
for value in unassigned_values:
value_as_string = value is not None and str(value) or 'NULL'
list_item = QListWidgetItem(list_unique_values)
list_item.setFlags(
Qt.ItemIsEnabled
| Qt.ItemIsSelectable
| Qt.ItemIsDragEnabled)
list_item.setData(Qt.UserRole, value)
list_item.setText(value_as_string)
list_unique_values.addItem(list_item)
# Populate assigned values tree
tree_mapping_widget.clear()
bold_font = QFont()
bold_font.setItalic(True)
bold_font.setBold(True)
bold_font.setWeight(75)
tree_mapping_widget.invisibleRootItem().setFlags(
Qt.ItemIsEnabled)
for default_class in default_classes:
# Create branch for class
tree_branch = QTreeWidgetItem(tree_mapping_widget)
tree_branch.setFlags(
Qt.ItemIsDropEnabled | Qt.ItemIsEnabled)
tree_branch.setExpanded(True)
tree_branch.setFont(0, bold_font)
if 'name' in default_class:
default_class_name = default_class['name']
else:
default_class_name = default_class['key']
tree_branch.setText(0, default_class_name)
tree_branch.setData(0, Qt.UserRole, default_class['key'])
if 'description' in default_class:
tree_branch.setToolTip(0, default_class['description'])
# Assign known values
for value in assigned_values[default_class['key']]:
string_value = value is not None and str(value) or 'NULL'
tree_leaf = QTreeWidgetItem(tree_branch)
tree_leaf.setFlags(
Qt.ItemIsEnabled
| Qt.ItemIsSelectable
| Qt.ItemIsDragEnabled)
tree_leaf.setData(0, Qt.UserRole, value)
tree_leaf.setText(0, string_value)
示例7: __init__
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def __init__(self):
super(TestSelector, self).__init__()
self.setupUi(self)
self.tests = None
self.bar = QgsMessageBar()
self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
self.layout().insertWidget(1, self.bar)
allTests = defaultdict(list)
for test in tests.tests:
allTests[test.group].append(test)
for group, groupTests in iteritems(allTests):
groupItem = QTreeWidgetItem()
groupItem.setText(0, group)
groupItem.setFlags(groupItem.flags() | Qt.ItemIsTristate)
unitItem = QTreeWidgetItem()
unitItem.setText(0, "Fully automated tests")
unitItem.setFlags(unitItem.flags() | Qt.ItemIsTristate)
manualItem = QTreeWidgetItem()
manualItem.setText(0, "Manual and semi-automated tests")
manualItem.setFlags(manualItem.flags() | Qt.ItemIsTristate)
for test in groupTests:
testItem = QTreeWidgetItem()
testItem.setFlags(testItem.flags() | Qt.ItemIsUserCheckable)
testItem.setCheckState(0, Qt.Unchecked)
testItem.test = test
testItem.setText(0, test.name)
if isinstance(test, UnitTestWrapper):
unitItem.addChild(testItem)
else:
manualItem.addChild(testItem)
if manualItem.childCount():
groupItem.addChild(manualItem)
if unitItem.childCount():
groupItem.addChild(unitItem)
self.testsTree.addTopLevelItem(groupItem)
groupItem.setExpanded(True)
self.buttonBox.button(QDialogButtonBox.Ok).setText("Run selected tests")
self.buttonBox.accepted.connect(self.okPressed)
self.buttonBox.rejected.connect(self.cancelPressed)
self.selectAllLabel.linkActivated.connect(lambda: self.checkTests(lambda t: Qt.Checked))
self.unselectAllLabel.linkActivated.connect(lambda: self.checkTests(lambda t: Qt.Unchecked))
def _onlyManual(t):
if isinstance(t, UnitTestWrapper):
return Qt.Unchecked
else:
return Qt.Checked
self.onlyManualLabel.linkActivated.connect(lambda: self.checkTests(_onlyManual))
def _onlyUnit(t):
if isinstance(t, UnitTestWrapper):
return Qt.Checked
else:
return Qt.Unchecked
self.onlyUnitLabel.linkActivated.connect(lambda: self.checkTests(_onlyUnit))
self.exportButton.clicked.connect(self.export)
示例8: __init__
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFlags [as 别名]
def __init__(self):
super(TestSelector, self).__init__()
self.setupUi(self)
self.tests = None
self.bar = QgsMessageBar()
self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
self.layout().insertWidget(1, self.bar)
allTests = defaultdict(list)
for test in tests.tests:
allTests[test.group].append(test)
for group, groupTests in iteritems(allTests):
groupItem = QTreeWidgetItem()
groupItem.setText(0, group)
groupItem.setFlags(groupItem.flags() | Qt.ItemIsTristate);
unitItem = QTreeWidgetItem()
unitItem.setText(0, "Fully automated tests")
unitItem.setFlags(unitItem.flags() | Qt.ItemIsTristate);
manualItem = QTreeWidgetItem()
manualItem.setText(0, "Manual and semi-automated tests")
manualItem.setFlags(manualItem.flags() | Qt.ItemIsTristate);
unitTestsByCategories = defaultdict(list)
manualTestsByCategories = defaultdict(list)
for test in groupTests:
if isinstance(test, UnitTestWrapper):
unitTestsByCategories[test.category].append(test)
else:
manualTestsByCategories[test.category].append(test)
for testsList, parentItem in [(unitTestsByCategories, unitItem), (manualTestsByCategories, manualItem)]:
for cat, catTests in iteritems(testsList):
categoryItem = QTreeWidgetItem()
categoryItem.setText(0, cat)
categoryItem.setFlags(manualItem.flags() | Qt.ItemIsTristate);
for test in catTests:
testItem = QTreeWidgetItem()
testItem.setFlags(testItem.flags() | Qt.ItemIsUserCheckable);
testItem.setCheckState(0, Qt.Unchecked);
testItem.test = test
testItem.setText(0, test.name)
categoryItem.addChild(testItem)
parentItem.addChild(categoryItem)
if manualItem.childCount():
groupItem.addChild(manualItem)
if unitItem.childCount():
groupItem.addChild(unitItem)
self.testsTree.addTopLevelItem(groupItem)
groupItem.setExpanded(True)
self.buttonBox.button(QDialogButtonBox.Ok).setText("Run selected tests")
self.buttonBox.accepted.connect(self.okPressed)
self.buttonBox.rejected.connect(self.cancelPressed)
self.selectAllLabel.linkActivated.connect(lambda: self.checkTests(lambda t: Qt.Checked))
self.unselectAllLabel.linkActivated.connect(lambda: self.checkTests(lambda t: Qt.Unchecked))
def _onlyManual(t):
if isinstance(t, UnitTestWrapper):
return Qt.Unchecked
else:
return Qt.Checked
self.onlyManualLabel.linkActivated.connect(lambda: self.checkTests(_onlyManual))
def _onlyUnit(t):
if isinstance(t, UnitTestWrapper):
return Qt.Checked
else:
return Qt.Unchecked
self.onlyUnitLabel.linkActivated.connect(lambda: self.checkTests(_onlyUnit))
filepath = os.path.expanduser("~/.testerplugin/failed.txt")
if os.path.exists(filepath):
with open(filepath) as f:
failed = json.load(f)
else:
failed = []
def _onlyLastFailures(t):
if t.group in failed and t.name in failed[t.group]:
return Qt.Checked
else:
return Qt.Unchecked
self.onlyLastFailuresLabel.linkActivated.connect(lambda: self.checkTests(_onlyLastFailures))
self.exportButton.clicked.connect(self.export)