本文整理汇总了Python中qgis.PyQt.QtWidgets.QComboBox类的典型用法代码示例。如果您正苦于以下问题:Python QComboBox类的具体用法?Python QComboBox怎么用?Python QComboBox使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QComboBox类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: ConnectionWidgetWrapper
class ConnectionWidgetWrapper(WidgetWrapper, ExpressionWidgetWrapperMixin):
"""
WidgetWrapper for ParameterString that create and manage a combobox widget
with existing postgis connections.
"""
def createWidget(self):
self._combo = QComboBox()
for group in self.items():
self._combo.addItem(*group)
self._combo.currentIndexChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
return self.wrapWithExpressionButton(self._combo)
def items(self):
settings = QgsSettings()
settings.beginGroup('/PostgreSQL/connections/')
items = [(group, group) for group in settings.childGroups()]
if self.dialogType == DIALOG_MODELER:
strings = self.dialog.getAvailableValuesOfType(
[QgsProcessingParameterString, QgsProcessingParameterNumber, QgsProcessingParameterFile,
QgsProcessingParameterField, QgsProcessingParameterExpression], QgsProcessingOutputString)
items = items + [(self.dialog.resolveValueDescription(s), s) for s in strings]
return items
def setValue(self, value):
self.setComboValue(value, self._combo)
def value(self):
return self.comboValue(combobox=self._combo)
开发者ID:GeoCat,项目名称:QGIS,代码行数:31,代码来源:wrappers_postgis.py
示例2: createEditor
def createEditor(self, parent, options, index):
setting = index.model().data(index, Qt.UserRole)
if setting.valuetype == Setting.FOLDER:
return FileDirectorySelector(parent)
elif setting.valuetype == Setting.FILE:
return FileDirectorySelector(parent, True)
elif setting.valuetype == Setting.SELECTION:
combo = QComboBox(parent)
combo.addItems(setting.options)
return combo
elif setting.valuetype == Setting.MULTIPLE_FOLDERS:
return MultipleDirectorySelector(parent)
else:
value = self.convertValue(index.model().data(index, Qt.EditRole))
if isinstance(value, int):
spnBox = QgsSpinBox(parent)
spnBox.setRange(-999999999, 999999999)
return spnBox
elif isinstance(value, float):
spnBox = QgsDoubleSpinBox(parent)
spnBox.setRange(-999999999.999999, 999999999.999999)
spnBox.setDecimals(6)
return spnBox
elif isinstance(value, str):
return QLineEdit(parent)
开发者ID:mj10777,项目名称:QGIS,代码行数:25,代码来源:ConfigDialog.py
示例3: update_data_sources_table_names
def update_data_sources_table_names(self):
schema_list = []
schema_list = self.fetch_schemas(self.ui.cbUploadDatabase.currentText())
if self.local_data_sources.count() == 0:
self.data_sources_table_names.clear()
else:
# remove table names without data sources
keys_to_remove = []
for key in list(self.data_sources_table_names.keys()):
if self.local_data_sources.layers(key) is None:
keys_to_remove.append(key)
for key in keys_to_remove:
del self.data_sources_table_names[key]
# update table names
if schema_list != None:
for row in range(0, self.ui.tblLocalLayers.rowCount()):
data_source = self.ui.tblLocalLayers.item(row, self.COLUMN_DATA_SOURCE).text()
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 = self.ui.tblLocalLayers.item(row, self.COLUMN_TABLE_NAME).text()
self.data_sources_table_names[data_source] = table_name
开发者ID:qgiscloud,项目名称:qgis-cloud-plugin,代码行数:27,代码来源:qgiscloudplugindialog.py
示例4: createWidget
def createWidget(self):
if self.param.multiple:
return MultipleInputPanel(options=self.param.options)
else:
widget = QComboBox()
widget.addItems(self.param.options)
if self.param.default:
widget.setCurrentIndex(self.param.default)
return widget
开发者ID:mterente,项目名称:QGIS,代码行数:9,代码来源:wrappers.py
示例5: createWidget
def createWidget(self):
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
return FileSelectionPanel(self.param.isFolder, self.param.ext)
else:
widget = QComboBox()
widget.setEditable(True)
files = self.dialog.getAvailableValuesOfType(ParameterFile, OutputFile)
for f in files:
widget.addItem(self.dialog.resolveValueDescription(f), f)
return widget
开发者ID:,项目名称:,代码行数:10,代码来源:
示例6: createEditor
def createEditor(self, parent, option, index):
# special combobox for field type
if index.column() == 1:
cbo = QComboBox(parent)
cbo.setEditable(True)
cbo.setAutoCompletion(True)
cbo.setFrame(False)
for item in self.fieldTypes:
cbo.addItem(item)
return cbo
return QItemDelegate.createEditor(self, parent, option, index)
开发者ID:AM7000000,项目名称:QGIS,代码行数:11,代码来源:dlg_create_table.py
示例7: initGui
def initGui(self):
self.setWindowTitle('Import to GeoGig')
verticalLayout = QVBoxLayout()
if self.repo is None:
repos = repository.repos
layerLabel = QLabel('Repository')
verticalLayout.addWidget(layerLabel)
self.repoCombo = QComboBox()
self.repoCombo.addItems(["%s - %s" % (r.group, r.title) for r in repos])
self.repoCombo.currentIndexChanged.connect(self.updateBranches)
verticalLayout.addWidget(self.repoCombo)
if self.layer is None:
layerLabel = QLabel('Layer')
verticalLayout.addWidget(layerLabel)
self.layerCombo = QComboBox()
layerNames = [layer.name() for layer in vectorLayers()
if layer.source().lower().split("|")[0].split(".")[-1] in["gpkg", "geopkg"]
and not isRepoLayer(layer)]
self.layerCombo.addItems(layerNames)
verticalLayout.addWidget(self.layerCombo)
self.branchLabel = QLabel("Branch")
verticalLayout.addWidget(self.branchLabel)
self.branchCombo = QComboBox()
self.branches = self.repo.branches() if self.repo is not None else repos[0].branches()
self.branchCombo.addItems(self.branches)
verticalLayout.addWidget(self.branchCombo)
messageLabel = QLabel('Message to describe this update')
verticalLayout.addWidget(messageLabel)
self.messageBox = QPlainTextEdit()
verticalLayout.addWidget(self.messageBox)
self.buttonBox = QDialogButtonBox(QDialogButtonBox.Cancel)
self.importButton = QPushButton("Add layer")
self.importButton.clicked.connect(self.importClicked)
self.buttonBox.addButton(self.importButton, QDialogButtonBox.ApplyRole)
self.buttonBox.rejected.connect(self.cancelPressed)
verticalLayout.addWidget(self.buttonBox)
self.setLayout(verticalLayout)
self.resize(600, 300)
self.messageBox.setFocus()
开发者ID:boundlessgeo,项目名称:qgis-geogiglight-plugin,代码行数:48,代码来源:importdialog.py
示例8: addLayerData
def addLayerData(self, layerName, attribute):
item = QTreeWidgetItem()
item.setText(0, layerName)
item.setText(1, attribute)
self.layersTree.addTopLevelItem(item)
comboBox = QComboBox()
comboBox.addItem(self.tr('Points'))
comboBox.addItem(self.tr('Structure lines'))
comboBox.addItem(self.tr('Break lines'))
comboBox.setCurrentIndex(0)
self.layersTree.setItemWidget(item, 2, comboBox)
开发者ID:,项目名称:,代码行数:12,代码来源:
示例9: __init__
def __init__(self, param):
super().__init__(param)
self.label = QLabel('')
self.units_combo = QComboBox()
self.base_units = QgsUnitTypes.DistanceUnknownUnit
for u in (QgsUnitTypes.DistanceMeters,
QgsUnitTypes.DistanceKilometers,
QgsUnitTypes.DistanceFeet,
QgsUnitTypes.DistanceMiles,
QgsUnitTypes.DistanceYards):
self.units_combo.addItem(QgsUnitTypes.toString(u), u)
label_margin = self.fontMetrics().width('X')
self.layout().insertSpacing(1, label_margin / 2)
self.layout().insertWidget(2, self.label)
self.layout().insertWidget(3, self.units_combo)
self.layout().insertSpacing(4, label_margin / 2)
self.warning_label = QLabel()
icon = QgsApplication.getThemeIcon('mIconWarning.svg')
size = max(24, self.spnValue.height() * 0.5)
self.warning_label.setPixmap(icon.pixmap(icon.actualSize(QSize(size, size))))
self.warning_label.setToolTip(self.tr('Distance is in geographic degrees. Consider reprojecting to a projected local coordinate system for accurate results.'))
self.layout().insertWidget(4, self.warning_label)
self.layout().insertSpacing(5, label_margin)
self.setUnits(QgsUnitTypes.DistanceUnknownUnit)
开发者ID:borysiasty,项目名称:QGIS,代码行数:28,代码来源:NumberInputPanel.py
示例10: createWidget
def createWidget(self):
if self.dialogType == DIALOG_MODELER:
widget = QComboBox()
widget.setEditable(True)
strings = self.dialog.getAvailableValuesOfType(QgsProcessingParameterString, QgsProcessingOutputString)
options = [(self.dialog.resolveValueDescription(s), s) for s in strings]
for desc, val in options:
widget.addItem(desc, val)
widget.setEditText(self.param.defaultValue() or '')
return widget
elif self.dialogType == DIALOG_BATCH:
widget = QLineEdit()
if self.param.defaultValue():
widget.setText(self.param.defaultValue())
else:
return QgsRasterFormatSaveOptionsWidget()
开发者ID:enzogis,项目名称:QGIS,代码行数:16,代码来源:RasterOptionsWidget.py
示例11: createWidget
def createWidget(self):
self.panel = self.createPanel()
self.panel.dialogType = self.dialogType
if self.dialogType == DIALOG_MODELER:
self.combobox = QComboBox()
self.combobox.addItem(QCoreApplication.translate('Processing', '[Preconfigure]'), None)
fieldsMappingInputs = self.dialog.getAvailableValuesOfType(FieldsMapper.ParameterFieldsMapping)
for input in fieldsMappingInputs:
self.combobox.addItem(self.dialog.resolveValueDescription(input), input)
def updatePanelEnabledState():
if self.combobox.currentData() is None:
self.panel.setEnabled(True)
else:
self.panel.setEnabled(False)
self.combobox.currentIndexChanged.connect(updatePanelEnabledState)
widget = QWidget()
widget.setLayout(QVBoxLayout())
widget.layout().addWidget(self.combobox)
widget.layout().addWidget(self.panel)
return widget
else:
return self.panel
开发者ID:raymondnijssen,项目名称:QGIS,代码行数:26,代码来源:FieldsMappingPanel.py
示例12: createWidget
def createWidget(self):
self._combo = QComboBox()
self._combo.addItem('', '')
for item in self.items():
self._combo.addItem(item, item)
self._combo.currentIndexChanged.connect(lambda:
self.widgetValueHasChanged.emit(self))
return self._combo
开发者ID:AlisterH,项目名称:Quantum-GIS,代码行数:8,代码来源:wrappers_map_theme.py
示例13: addRow
def addRow(self):
self.wrappers.append([None] * self.tblParameters.columnCount())
self.tblParameters.setRowCount(self.tblParameters.rowCount() + 1)
wrappers = {}
row = self.tblParameters.rowCount() - 1
column = 0
for param in self.alg.parameterDefinitions():
if param.flags() & QgsProcessingParameterDefinition.FlagHidden or param.isDestination():
continue
wrapper = WidgetWrapperFactory.create_wrapper(param, self.parent, row, column)
wrappers[param.name()] = wrapper
self.setCellWrapper(row, column, wrapper)
column += 1
for out in self.alg.destinationParameterDefinitions():
if out.flags() & QgsProcessingParameterDefinition.FlagHidden:
continue
self.tblParameters.setCellWidget(
row, column, BatchOutputSelectionPanel(
out, self.alg, row, column, self))
column += 1
if len(self.alg.destinationParameterDefinitions()) > 0:
item = QComboBox()
item.addItem(self.tr('Yes'))
item.addItem(self.tr('No'))
item.setCurrentIndex(0)
self.tblParameters.setCellWidget(row, column, item)
for wrapper in list(wrappers.values()):
wrapper.postInitialize(list(wrappers.values()))
开发者ID:GeoCat,项目名称:QGIS,代码行数:34,代码来源:BatchPanel.py
示例14: addRow
def addRow(self):
self.wrappers.append([None] * self.tblParameters.columnCount())
self.tblParameters.setRowCount(self.tblParameters.rowCount() + 1)
wrappers = {}
row = self.tblParameters.rowCount() - 1
column = 0
for param in self.alg.parameters:
if param.hidden:
continue
wrapper = param.wrapper(self.parent, row, column)
wrappers[param.name] = wrapper
self.setCellWrapper(row, column, wrapper)
column += 1
for out in self.alg.outputs:
if out.hidden:
continue
self.tblParameters.setCellWidget(
row, column, BatchOutputSelectionPanel(
out, self.alg, row, column, self))
column += 1
if self.alg.getVisibleOutputsCount():
item = QComboBox()
item.addItem(self.tr('Yes'))
item.addItem(self.tr('No'))
item.setCurrentIndex(0)
self.tblParameters.setCellWidget(row, column, item)
for wrapper in list(wrappers.values()):
wrapper.postInitialize(list(wrappers.values()))
开发者ID:3liz,项目名称:Quantum-GIS,代码行数:34,代码来源:BatchPanel.py
示例15: addRow
def addRow(self):
self.tblParameters.setRowCount(self.tblParameters.rowCount() + 1)
row = self.tblParameters.rowCount() - 1
column = 0
for param in self.alg.parameters:
if param.hidden:
continue
self.tblParameters.setCellWidget(
row, column, self.getWidgetFromParameter(param, row, column))
column += 1
for out in self.alg.outputs:
if out.hidden:
continue
self.tblParameters.setCellWidget(
row, column, BatchOutputSelectionPanel(
out, self.alg, row, column, self))
column += 1
if self.alg.getVisibleOutputsCount():
item = QComboBox()
item.addItem(self.tr('Yes'))
item.addItem(self.tr('No'))
item.setCurrentIndex(0)
self.tblParameters.setCellWidget(row, column, item)
开发者ID:radosuav,项目名称:ESA_Processing,代码行数:28,代码来源:BatchPanel.py
示例16: setComboField
def setComboField(self,content,type,layer):
'''
returns a qcombobox loaded with compatible field names (depending on selected layer)
'''
combo = QComboBox();
fieldNames = self.scanLayerFieldsNames(layer)
fieldTypes = self.scanLayerFieldsTypes(layer)
choices = []
for n in range(0,len(fieldTypes)):
if fieldTypes[n] == type:
choices.append(fieldNames[n])
combo.addItems(choices)
if content in choices:
combo.setCurrentIndex(choices.index(content))
else:
combo.addItem(content)
combo.setCurrentIndex(combo.count()-1)
combo.activated.connect(lambda: self.highlightCompatibleFields(LayerChange=None))
return combo
开发者ID:enricofer,项目名称:attributepainter,代码行数:19,代码来源:attributepainter.py
示例17: _reverseAdresCallback
def _reverseAdresCallback(self, point):
'private callback for reverseAdresMapTool'
self.iface.mapCanvas().unsetMapTool(self.reverseAdresTool)
self.showNormal()
self.activateWindow()
x,y = self.gh.prjPtFromMapCrs(point, 31370)
adres = str(x) +","+ str(y)
validAdresCol = self.ui.outPutTbl.columnCount() -1
rowIds= self.getSelectedRows()
for rowIdx in rowIds:
validCombo = QComboBox(self.ui.adresColSelect)
validCombo.addItems([adres])
validCombo.setEnabled(False)
self.ui.outPutTbl.setCellWidget(rowIdx, validAdresCol, validCombo)
for col in range(validAdresCol):
self.ui.outPutTbl.item(rowIdx,col).setBackground( QBrush( QColor("#DDFFDD")) )
self.ui.outPutTbl.clearSelection()
开发者ID:warrieka,项目名称:geopunt4Qgis,代码行数:19,代码来源:geopunt4QgisBatchGeoCode.py
示例18: initGui
def initGui(self):
self.setWindowTitle('Remote connection reference')
verticalLayout = QVBoxLayout()
horizontalLayout = QHBoxLayout()
horizontalLayout.setSpacing(30)
horizontalLayout.setMargin(0)
remoteLabel = QLabel('Remote connection')
self.remoteCombo = QComboBox()
self.remotes = self.repo.remotes()
self.remoteCombo.addItems(list(self.remotes.keys()))
self.remoteCombo.currentIndexChanged.connect(self.currentRemoteChanged)
horizontalLayout.addWidget(remoteLabel)
horizontalLayout.addWidget(self.remoteCombo)
verticalLayout.addLayout(horizontalLayout)
horizontalLayout = QHBoxLayout()
horizontalLayout.setSpacing(30)
horizontalLayout.setMargin(0)
branchLabel = QLabel('Branch')
self.branchCombo = QComboBox()
self.branchCombo.addItems(self.repo.branches())
horizontalLayout.addWidget(branchLabel)
horizontalLayout.addWidget(self.branchCombo)
verticalLayout.addLayout(horizontalLayout)
self.groupBox = QGroupBox()
self.groupBox.setTitle("Remote connection info")
self.groupBox.setLayout(verticalLayout)
layout = QVBoxLayout()
layout.addWidget(self.groupBox)
self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
layout.addWidget(self.buttonBox)
self.setLayout(layout)
self.buttonBox.accepted.connect(self.okPressed)
self.buttonBox.rejected.connect(self.cancelPressed)
self.resize(400, 200)
开发者ID:boundlessgeo,项目名称:qgis-geogiglight-plugin,代码行数:42,代码来源:remoterefdialog.py
示例19: createEditor
def createEditor(self, parent, option, index):
column = index.column()
fieldType = FieldsMappingModel.columns[column]['type']
if fieldType == QVariant.Type:
editor = QComboBox(parent)
for key, text in list(FieldsMappingModel.fieldTypes.items()):
editor.addItem(text, key)
elif fieldType == QgsExpression:
editor = QgsFieldExpressionWidget(parent)
editor.setLayer(index.model().layer())
editor.registerExpressionContextGenerator(index.model().contextGenerator())
editor.fieldChanged.connect(self.on_expression_fieldChange)
else:
editor = QStyledItemDelegate.createEditor(self, parent, option, index)
editor.setAutoFillBackground(True)
return editor
开发者ID:ndavid,项目名称:QGIS,代码行数:20,代码来源:FieldsMappingPanel.py
示例20: restoreState
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
开发者ID:enricofer,项目名称:attributepainter,代码行数:41,代码来源:attributepainter.py
注:本文中的qgis.PyQt.QtWidgets.QComboBox类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论