本文整理汇总了Python中qgis.PyQt.QtWidgets.QTableWidgetItem.setFlags方法的典型用法代码示例。如果您正苦于以下问题:Python QTableWidgetItem.setFlags方法的具体用法?Python QTableWidgetItem.setFlags怎么用?Python QTableWidgetItem.setFlags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.PyQt.QtWidgets.QTableWidgetItem
的用法示例。
在下文中一共展示了QTableWidgetItem.setFlags方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setTableContent
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def setTableContent(self):
numOutputs = 0
for output in self.alg.outputs:
if isinstance(output, (OutputVector, OutputRaster)):
if not output.flags() & QgsProcessingParameterDefinition.FlagHidden:
numOutputs += 1
self.tblStyles.setRowCount(numOutputs)
i = 0
for output in self.alg.outputs:
if isinstance(output, (OutputVector, OutputRaster)):
if not output.flags() & QgsProcessingParameterDefinition.FlagHidden:
item = QTableWidgetItem(output.description() + '<' +
output.__class__.__name__ + '>')
item.setFlags(Qt.ItemIsEnabled)
self.tblStyles.setItem(i, 0, item)
item = RenderingStyleFilePanel()
style = \
RenderingStyles.getStyle(self.alg.id(),
output.name())
if style:
item.setText(str(style))
self.valueItems[output.name()] = item
self.tblStyles.setCellWidget(i, 1, item)
self.tblStyles.setRowHeight(i, 22)
i += 1
示例2: setTableContent
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def setTableContent(self):
numOutputs = 0
for output in self.alg.outputs:
if isinstance(output, (OutputVector, OutputRaster)):
if not output.hidden:
numOutputs += 1
self.tblStyles.setRowCount(numOutputs)
i = 0
for output in self.alg.outputs:
if isinstance(output, (OutputVector, OutputRaster)):
if not output.hidden:
item = QTableWidgetItem(output.description + '<'
+ output.__class__.__name__ + '>')
item.setFlags(Qt.ItemIsEnabled)
self.tblStyles.setItem(i, 0, item)
item = RenderingStyleFilePanel()
style = \
RenderingStyles.getStyle(self.alg.commandLineName(),
output.name)
if style:
item.setText(unicode(style))
self.valueItems[output.name] = item
self.tblStyles.setCellWidget(i, 1, item)
self.tblStyles.setRowHeight(i, 22)
i += 1
示例3: setTableContent
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def setTableContent(self):
params = self._alg.parameters
outputs = self._alg.outputs
visibleParams = [p for p in params if not p.hidden]
visibleOutputs = [p for o in outputs if not o.hidden]
self.tableWidget.setRowCount(len(visibleParams) + len(visibleOutputs))
for i, param in visibleParams:
item = QTableWidgetItem(param.description)
item.setFlags(Qt.ItemIsEnabled)
self.tableWidget.setItem(i, 0, item)
item = self.getWidgetFromParameter(param)
self.valueItems[param.name] = item
self.tableWidget.setCellWidget(i, 1, item)
self.tableWidget.setRowHeight(i, 22)
for i, output in visibleOutputs:
item = QTableWidgetItem(output.description + '<'
+ output.__module__.split('.')[-1] + '>')
item.setFlags(Qt.ItemIsEnabled)
self.tableWidget.setItem(i, 0, item)
item = QLineEdit()
if hasattr(item, 'setPlaceholderText'):
item.setPlaceholderText(ModelerParametersDialog.ENTER_NAME)
self.valueItems[output.name] = item
self.tableWidget.setCellWidget(i, 1, item)
self.tableWidget.setRowHeight(i, 22)
示例4: insertNewRow
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def insertNewRow(self):
self.tableWidget.insertRow(self.tableWidget.rowCount())
for i in range(self.tableWidget.columnCount()):
editItem = QTableWidgetItem('', 0)
if i == 0:
editItem.setFlags(self.defFlags | Qt.ItemIsUserCheckable)
editItem.setCheckState(Qt.Checked)
else:
editItem.setFlags(self.defFlags)
self.tableWidget.setItem(self.tableWidget.rowCount()-1, i, editItem)
示例5: selectSource
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def selectSource(self):
'''
source feature selection procedure
'''
if self.layerHighlighted:
self.resetSource()
try:
self.dock.tableWidget.itemChanged.disconnect(self.highLightCellOverride)
except:
pass
#take first selected feature as source feature
self.sourceFeat = self.selectedFeature
#hightlight source feature with rubberband
self.sourceEvid.setToGeometry(self.sourceFeat.geometry(),self.selectedLayer)
#get current layer attributes labels list
field_names = self.scanLayerFieldsNames(self.selectedLayer)
field_types = self.scanLayerFieldsTypes(self.selectedLayer)
self.sourceAttrsTab=[]
self.dock.tableWidget.setRowCount(len(field_names))
#loading attributes labels and values in QTableWidget
for n in range(0,len(field_names)):
item=QTableWidgetItem()
item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
item.setCheckState(Qt.Unchecked)
item.setText("")
#set first column as checkbox
self.dock.tableWidget.setItem(n,0,item)
#set second colunm as attribute label as qcombobox widget
self.dock.tableWidget.setCellWidget(n,1,self.setComboField(field_names[n],field_types[n],self.canvas.currentLayer()))
#set third column as attribute value
item = QTableWidgetItem()
item.setData(Qt.DisplayRole,self.sourceFeat.attributes()[n])
self.dock.tableWidget.setItem(n,2,item)
#resize table to contents
self.dock.tableWidget.resizeColumnsToContents()
self.dock.tableWidget.horizontalHeader().setStretchLastSection(True)
#procedure to recover same field selection if current source feature has the same layer of the precedent one
if self.selectedLayer.id() != self.activeLayer:
self.sourceAttrs={}
self.activeLayer = self.selectedLayer.id()
else:
for Attr in self.sourceAttrs:
self.dock.tableWidget.item(Attr,0).setCheckState(Qt.Checked)
#Enable button to apply or reset
self.dock.ResetSource.setEnabled(True)
self.dock.tableWidget.itemChanged.connect(self.highLightCellOverride)
self.checkOnLayerChange(self.canvas.currentLayer())
示例6: populate_function_table_1
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def populate_function_table_1(self):
"""Populate the tblFunctions1 table with available functions."""
hazards = deepcopy(hazard_all)
exposures = exposure_all
self.lblAvailableFunctions1.clear()
self.tblFunctions1.clear()
self.tblFunctions1.setColumnCount(len(hazards))
self.tblFunctions1.setRowCount(len(exposures))
for i in range(len(hazards)):
hazard = hazards[i]
item = QTableWidgetItem()
item.setIcon(QIcon(get_image_path(hazard)))
item.setText(hazard['name'].capitalize())
item.setTextAlignment(Qt.AlignLeft)
self.tblFunctions1.setHorizontalHeaderItem(i, item)
for i in range(len(exposures)):
exposure = exposures[i]
item = QTableWidgetItem()
item.setIcon(QIcon(get_image_path(exposure)))
item.setText(exposure['name'].capitalize())
self.tblFunctions1.setVerticalHeaderItem(i, item)
developer_mode = setting('developer_mode', False, bool)
for hazard in hazards:
for exposure in exposures:
item = QTableWidgetItem()
if (exposure in hazard['disabled_exposures'] and not
developer_mode):
background_colour = unavailable_option_color
# Set it disable and un-selectable
item.setFlags(
item.flags() & ~
Qt.ItemIsEnabled & ~
Qt.ItemIsSelectable
)
else:
background_colour = available_option_color
item.setBackground(QBrush(background_colour))
item.setFont(big_font)
item.setTextAlignment(Qt.AlignCenter | Qt.AlignHCenter)
item.setData(RoleHazard, hazard)
item.setData(RoleExposure, exposure)
self.tblFunctions1.setItem(
exposures.index(exposure), hazards.index(hazard), item)
self.parent.pbnNext.setEnabled(False)
示例7: setTableContent
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def setTableContent(self):
self.table.clear()
self.table.setColumnCount(2)
self.table.setColumnWidth(0, 200)
self.table.setColumnWidth(1, 200)
self.table.setHorizontalHeaderLabels(["Name", "URL"])
self.table.horizontalHeader().setResizeMode(QHeaderView.Stretch)
self.table.setRowCount(len(self.remotes))
for i, name in enumerate(self.remotes):
url = self.remotes[name]
self.table.setRowHeight(i, 22)
item = QTableWidgetItem(name, 0)
item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
self.table.setItem(i, 0, item)
item = QTableWidgetItem(url, 0)
item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
self.table.setItem(i, 1, item)
self.table.itemSelectionChanged.connect(self.selectionChanged)
示例8: restoreState
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def restoreState(self,layer,table):
if layer.id() in self.states.keys():
table.blockSignals(True)
#clear dock widget
while table.rowCount()>0:
table.removeRow(0)
#add rows
table.setRowCount(len(self.states[layer.id()]))
for n in range(0, len(self.states[layer.id()])):
row = self.states[layer.id()][n]
#set first column as checkbox
item=QTableWidgetItem()
item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
if row[0]:
item.setCheckState(Qt.Checked)
else:
item.setCheckState(Qt.Unchecked)
item.setText("")
table.setItem(n,0,item)
#set second column as combobox
combo = QComboBox();
combo.addItems(row[1])
#print (row[1],row[2])
combo.setCurrentIndex(row[2])
table.setCellWidget(n,1,combo)
#set third column as attribute value
item = QTableWidgetItem(row[3])
item.setData(Qt.DisplayRole,row[4])
if row[5]:
item.setForeground(QBrush(QColor(0,0,0)))
else:
item.setForeground(QBrush(QColor(130,130,130)))
if row[6]:
item.setBackground(QBrush(QColor(183,213,225)))
table.setItem(n,2,item)
table.blockSignals(False)
return True
else:
return None
示例9: addCoord
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def addCoord(self, lat, lon, label='', data=[]):
'''Add a coordinate to the list.'''
rowcnt = self.resultsTable.rowCount()
if rowcnt >= self.maxResults:
return
self.resultsTable.blockSignals(True)
self.resultsTable.insertRow(rowcnt)
item = QTableWidgetItem(str(lat))
item.setData(Qt.UserRole, LatLonItem(lat, lon, label, data))
item.setFlags(item.flags() & ~Qt.ItemIsEditable)
self.resultsTable.setItem(rowcnt, 0, item)
item = QTableWidgetItem(str(lon))
item.setFlags(item.flags() & ~Qt.ItemIsEditable)
self.resultsTable.setItem(rowcnt, 1, item)
self.resultsTable.setItem(rowcnt, 2, QTableWidgetItem(label))
if self.numCol > 3 and len(data) > 0:
for i in range( min(self.numCol-3, len(data))):
self.resultsTable.setItem(rowcnt, i+3, QTableWidgetItem(data[i]))
self.resultsTable.blockSignals(False)
return(rowcnt)
示例10: update_local_data_sources
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def update_local_data_sources(self, local_layers, local_raster_layers):
# update table names lookup
local_layers += local_raster_layers
self.update_data_sources_table_names()
self.local_data_sources.update_local_data_sources(local_layers)
# update GUI
self.ui.tblLocalLayers.setRowCount(0)
schema_list = []
if self.ui.cbUploadDatabase.count() == 1:
schema_list = self.fetch_schemas(self.ui.cbUploadDatabase.currentText())
elif self.ui.cbUploadDatabase.currentIndex() > 0:
schema_list = self.fetch_schemas(self.ui.cbUploadDatabase.currentText())
for data_source, layers in list(self.local_data_sources.iteritems()):
layer_names = []
for layer in layers:
layer_names.append(str(layer.name()))
layers_item = QTableWidgetItem(", ".join(layer_names))
layers_item.setToolTip("\n".join(layer_names))
data_source_item = QTableWidgetItem(data_source)
data_source_item.setToolTip(data_source)
# find a better table name if there are multiple layers with same
# data source?
table_name = layers[0].name()
if data_source in self.data_sources_table_names:
# use current table name if available to keep changes by user
table_name = self.data_sources_table_names[data_source]
table_name_item = QTableWidgetItem(self.launder_pg_name(table_name))
if layers[0].providerType() == 'gdal':
geometry_type_item = QTableWidgetItem('Raster')
else:
wkbType = layers[0].wkbType()
if wkbType not in self.GEOMETRY_TYPES:
QMessageBox.warning(self.iface.mainWindow(), self.tr("Unsupported geometry type"), self.tr(
"Unsupported geometry type '{type}' in layer '{layer}'").format(type=self.__wkbTypeString(wkbType), layer=layers[0].name()))
continue
geometry_type_item = QTableWidgetItem(self.GEOMETRY_TYPES[wkbType])
if layers[0].providerType() == "ogr":
geometry_type_item.setToolTip(
self.tr("Note: OGR features will be converted to MULTI-type"))
srid_item = QTableWidgetItem(layers[0].crs().authid())
row = self.ui.tblLocalLayers.rowCount()
self.ui.tblLocalLayers.insertRow(row)
layers_item.setFlags( Qt.ItemIsSelectable | Qt.ItemIsEnabled )
self.ui.tblLocalLayers.setItem(
row, self.COLUMN_LAYERS, layers_item)
data_source_item.setFlags( Qt.ItemIsSelectable | Qt.ItemIsEnabled )
self.ui.tblLocalLayers.setItem(
row, self.COLUMN_DATA_SOURCE, data_source_item)
# create combo box in schema column filled with all schema names of the selected database
cmb_schema = QComboBox()
cmb_schema.setEditable(True)
cmb_schema.addItems(schema_list)
self.ui.tblLocalLayers.setCellWidget(row, self.COLUMN_SCHEMA_NAME, cmb_schema)
table_name_item.setFlags( Qt.ItemIsSelectable | Qt.ItemIsEditable | Qt.ItemIsEnabled )
self.ui.tblLocalLayers.setItem(
row, self.COLUMN_TABLE_NAME, table_name_item)
geometry_type_item.setFlags( Qt.ItemIsSelectable | Qt.ItemIsEnabled )
self.ui.tblLocalLayers.setItem(
row, self.COLUMN_GEOMETRY_TYPE, geometry_type_item)
srid_item.setFlags( Qt.ItemIsSelectable | Qt.ItemIsEnabled )
self.ui.tblLocalLayers.setItem(row, self.COLUMN_SRID, srid_item)
if self.local_data_sources.count() > 0:
self.ui.tblLocalLayers.resizeColumnsToContents()
self.ui.tblLocalLayers.setColumnWidth(self.COLUMN_LAYERS, 100)
self.ui.tblLocalLayers.setColumnWidth(self.COLUMN_DATA_SOURCE, 100)
self.ui.tblLocalLayers.sortItems(self.COLUMN_DATA_SOURCE)
self.ui.tblLocalLayers.setSortingEnabled(False)
else:
self.ui.btnUploadData.setEnabled(False)
self.statusBar().showMessage(self.tr("Updated local data sources"))
示例11: readConfiguration
# 需要导入模块: from qgis.PyQt.QtWidgets import QTableWidgetItem [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QTableWidgetItem import setFlags [as 别名]
def readConfiguration(self, filePath=None):
if filePath is None:
filePath = self.configFilePath
# Clear the QTableWidget in case it contains any old data
self.tableWidget.clear()
self.tableWidget.setRowCount(0)
# First set up the TableWidget
self.tableWidget.setColumnCount(6)
labels = ['Constraint',
'Schema',
'Table',
'Geometry Column',
'Search Distance',
'Columns For Reporting']
self.tableWidget.setHorizontalHeaderLabels(labels)
# Read the config
config = configparser.ConfigParser()
config.read(filePath)
i = 0
for section in config.sections():
self.tableWidget.insertRow(i)
editItem = QTableWidgetItem(section, 0)
editItem.setFlags(self.defFlags | Qt.ItemIsUserCheckable)
include = config.get(section, 'include')
if include.lower() == 't':
editItem.setCheckState(Qt.Checked)
else:
editItem.setCheckState(Qt.Unchecked)
self.tableWidget.setItem(i, 0, editItem)
schema = config.get(section, 'schema')
editItem = QTableWidgetItem(schema, 0)
editItem.setFlags(self.defFlags)
self.tableWidget.setItem(i, 1, editItem)
table = config.get(section, 'table')
editItem = QTableWidgetItem(table, 0)
editItem.setFlags(self.defFlags)
self.tableWidget.setItem(i, 2, editItem)
geom_col = config.get(section, 'geom_column')
editItem = QTableWidgetItem(geom_col, 0)
editItem.setFlags(self.defFlags)
self.tableWidget.setItem(i, 3, editItem)
buffer_distance = config.get(section, 'buffer_distance')
editItem = QTableWidgetItem(buffer_distance, 0)
editItem.setFlags(self.defFlags)
self.tableWidget.setItem(i, 4, editItem)
columns = config.get(section, 'columns')
editItem = QTableWidgetItem(columns, 0)
editItem.setFlags(self.defFlags)
self.tableWidget.setItem(i, 5, editItem)
i += 1
self.tableWidget.resizeColumnsToContents()
self.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)