本文整理汇总了Python中qgis.PyQt.QtWidgets.QTreeWidgetItem.setFont方法的典型用法代码示例。如果您正苦于以下问题:Python QTreeWidgetItem.setFont方法的具体用法?Python QTreeWidgetItem.setFont怎么用?Python QTreeWidgetItem.setFont使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.PyQt.QtWidgets.QTreeWidgetItem
的用法示例。
在下文中一共展示了QTreeWidgetItem.setFont方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ProfileWidget
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFont [as 别名]
class ProfileWidget(QTreeWidget, object):
"""Profile Widget."""
def __init__(self, data=None):
"""Constructor."""
super(ProfileWidget, self).__init__()
# Attributes
self.widget_items = []
# Set data
if data:
self.data = data
# Set header
self.header_tree_widget = QTreeWidgetItem(
[tr('Classification'), tr('Affected'), tr('Displacement Rate')])
header_font = QFont()
header_font.setBold(True)
header_font.setPointSize(14)
self.header_tree_widget.setFont(0, header_font)
self.header_tree_widget.setFont(1, header_font)
self.header_tree_widget.setFont(2, header_font)
self.setHeaderItem(self.header_tree_widget)
self.header().setSectionResizeMode(0, QHeaderView.Stretch)
self.header().setSectionResizeMode(1, QHeaderView.Fixed)
self.header().setSectionResizeMode(2, QHeaderView.ResizeToContents)
self.header().setSectionsMovable(False)
@property
def data(self):
"""Get the data from the current state of widgets.
:returns: Profile data in dictionary.
:rtype: dict
"""
if len(self.widget_items) == 0:
return
data = {}
for hazard_item in self.widget_items:
hazard = hazard_item.data(0, Qt.UserRole)
data[hazard] = {}
classification_items = [
hazard_item.child(i) for i in range(hazard_item.childCount())
]
for classification_item in classification_items:
classification = classification_item.data(0, Qt.UserRole)
data[hazard][classification] = OrderedDict()
class_items = [
classification_item.child(i) for i in range(
classification_item.childCount()
)
]
for the_class_item in class_items:
the_class = the_class_item.data(0, Qt.UserRole)
affected_check_box = self.itemWidget(the_class_item, 1)
displacement_rate_spin_box = self.itemWidget(
the_class_item, 2)
data[hazard][classification][the_class] = {
'affected': affected_check_box.isChecked(),
'displacement_rate': displacement_rate_spin_box.value()
}
return data
@data.setter
def data(self, profile_data):
"""Set data for the widget.
:param profile_data: profile data.
:type profile_data: dict
It will replace the previous data.
"""
default_profile = generate_default_profile()
self.clear()
for hazard in sorted(default_profile.keys()):
classifications = default_profile[hazard]
hazard_widget_item = QTreeWidgetItem()
hazard_widget_item.setData(0, Qt.UserRole, hazard)
hazard_widget_item.setText(0, get_name(hazard))
for classification in sorted(classifications.keys()):
# Filter out classification that doesn't support population.
# TODO(IS): This is not the best place to put the filtering.
# It's more suitable in the generate_default_profile method
# in safe/definitions/utilities.
classification_definition = definition(classification)
supported_exposures = classification_definition.get(
'exposures', [])
# Empty list means support all exposure
if supported_exposures != []:
if exposure_population not in supported_exposures:
continue
classes = classifications[classification]
classification_widget_item = QTreeWidgetItem()
classification_widget_item.setData(
0, Qt.UserRole, classification)
classification_widget_item.setText(0, get_name(classification))
hazard_widget_item.addChild(classification_widget_item)
for the_class, the_value in list(classes.items()):
the_class_widget_item = QTreeWidgetItem()
the_class_widget_item.setData(0, Qt.UserRole, the_class)
#.........这里部分代码省略.........
示例2: populate_classified_values
# 需要导入模块: from qgis.PyQt.QtWidgets import QTreeWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTreeWidgetItem import setFont [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)