本文整理匯總了Python中qgis.gui.QgsMapLayerComboBox.setEditable方法的典型用法代碼示例。如果您正苦於以下問題:Python QgsMapLayerComboBox.setEditable方法的具體用法?Python QgsMapLayerComboBox.setEditable怎麽用?Python QgsMapLayerComboBox.setEditable使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類qgis.gui.QgsMapLayerComboBox
的用法示例。
在下文中一共展示了QgsMapLayerComboBox.setEditable方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: SettingsDialog
# 需要導入模塊: from qgis.gui import QgsMapLayerComboBox [as 別名]
# 或者: from qgis.gui.QgsMapLayerComboBox import setEditable [as 別名]
class SettingsDialog(QDialog):
def __init__(self, parent=None):
QDialog.__init__(self, parent)
self.resize(500, 100)
self.setWindowTitle("Settings")
layout = QGridLayout(self)
csTargetLayerName = getCSLayerName()
bufferTargetLayerName = getRZLayerName()
csLable = QLabel("Compressor staitions layer:")
csLable.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
layout.addWidget(csLable, 0, 0)
self.__csLayerName = QgsMapLayerComboBox()
self.__csLayerName.setEditable(True)
self.__csLayerName.setFilters(QgsMapLayerProxyModel.PointLayer)
self.__csLayerName.setEditText(csTargetLayerName)
self.__csLayerName.layerChanged.connect(self.csLayerChooze)
self.__csLayerName.editTextChanged.connect(self.csLayernameSave)
self.__csLayerName.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
layout.addWidget(self.__csLayerName, 0, 1)
self.__csIdField = QgsFieldComboBox()
self.__csIdField.setEditable(True)
self.__csIdField.fieldChanged.connect(self.csIdFiledChooze)
self.__csIdField.editTextChanged.connect(self.csIdFieldSave)
self.__csIdField.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
self.csIdFieldFill()
layout.addWidget(self.__csIdField, 0, 2)
bufferLable = QLabel("Buffer layer:")
bufferLable.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
layout.addWidget(bufferLable, 1, 0)
# self.__bufferLayerName = QLineEdit(bufferTargetLayerName, self)
# self.__bufferLayerName.editingFinished.connect(self.bufferTargetLayernameSave)
self.__bufferLayerName = QgsMapLayerComboBox()
self.__bufferLayerName.setEditable(True)
self.__bufferLayerName.setFilters(QgsMapLayerProxyModel.PolygonLayer)
self.__bufferLayerName.setEditText(bufferTargetLayerName)
self.__bufferLayerName.layerChanged.connect(self.bufferLayerChooze)
self.__bufferLayerName.editTextChanged.connect(self.bufferLayernameSave)
layout.addWidget(self.__bufferLayerName, 1, 1)
def csLayerChooze(self, qgsMapLayer):
self.__csLayerName.setEditText(qgsMapLayer.name())
def csLayernameSave(self, csTargetLayerName):
if csTargetLayerName == u"":
return
setCSLayerName(csTargetLayerName)
self.csIdFieldFill()
def csIdFieldFill(self):
csIdField = getCSIdField()
csTargetLayerName = getCSLayerName()
layers = QgsMapLayerRegistry.instance().mapLayersByName(csTargetLayerName)
if len(layers) > 0:
self.__csIdField.setLayer(layers[0])
else:
self.__csIdField.setLayer(None)
self.__csIdField.setEditText(csIdField)
def csIdFiledChooze(self, fieldName):
self.__csIdField.setEditText(fieldName)
def csIdFieldSave(self, fieldName):
settings = QSettings()
if fieldName == u"":
return
setCSIdField(fieldName)
def bufferLayerChooze(self, qgsMapLayer):
self.__bufferLayerName.setEditText(qgsMapLayer.name())
def bufferLayernameSave(self, bufferTargetLayerName):
settings = QSettings()
if bufferTargetLayerName == u"":
return
setRZLayerName(bufferTargetLayerName)
示例2: Dialog
# 需要導入模塊: from qgis.gui import QgsMapLayerComboBox [as 別名]
# 或者: from qgis.gui.QgsMapLayerComboBox import setEditable [as 別名]
class Dialog(QtGui.QDialog):
def __init__(self, curPointLayerName, curPolygonLayerName, curFiledName, parent=None):
QtGui.QDialog.__init__(self, parent)
self.resize(300, 100)
Plugin().plPrint("curPointLayerName:: %s" % curPointLayerName)
Plugin().plPrint("curPolygonLayerName:: %s" % curPolygonLayerName)
Plugin().plPrint("curFiledName:: %s" % curFiledName)
self.setWindowTitle(Plugin().getPluginName())
self.__mainLayout = QtGui.QVBoxLayout(self)
self.__layout = QtGui.QGridLayout(self)
# self.__layout.addWidget(QtGui.QLabel(self.tr("Point layer name") + ":"), 0, 0)
l1 = QtGui.QLabel(u"Имя точечного слоя" + ":")
l1.setSizePolicy(
QtGui.QSizePolicy.Preferred,
QtGui.QSizePolicy.Fixed
)
self.__layout.addWidget(l1, 0, 0)
self.pointsLayersComboBox = QgsMapLayerComboBox()
self.pointsLayersComboBox.setSizePolicy(
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed
)
self.pointsLayersComboBox.setFilters(QgsMapLayerProxyModel.PointLayer)
self.pointsLayersComboBox.setEditable(True)
self.pointsLayersComboBox.setEditText(curPointLayerName)
self.pointsLayersComboBox.layerChanged.connect(self.layerChooze1)
self.__layout.addWidget(self.pointsLayersComboBox, 0, 1)
# self.__layout.addWidget(QtGui.QLabel(self.tr("Field name") + ":"), 2, 0)
self.__layout.addWidget(QtGui.QLabel(u"Имя поля" + ":"), 2, 0)
self.fieldName = QgsFieldComboBox()
self.fieldName.setFilters(QgsFieldProxyModel.Int)
self.fieldName.setEditable(True)
self.fieldName.setEditText(curFiledName)
self.fieldName.fieldChanged.connect(self.filedChooze)
self.__layout.addWidget(self.fieldName, 2, 1)
# self.__layout.addWidget(QtGui.QLabel(self.tr("Polypon layer name") + ":"), 1, 0)
self.__layout.addWidget(QtGui.QLabel(u"Имя полигонального слоя" + ":"), 1, 0)
self.polygonsLayersComboBox = QgsMapLayerComboBox()
self.polygonsLayersComboBox.setFilters(QgsMapLayerProxyModel.PolygonLayer)
self.polygonsLayersComboBox.setEditable(True)
self.polygonsLayersComboBox.setEditText(curPolygonLayerName)
self.polygonsLayersComboBox.layerChanged.connect(self.layerChooze2)
self.polygonsLayersComboBox.layerChanged.connect(self.fieldName.setLayer)
self.__layout.addWidget(self.polygonsLayersComboBox, 1, 1)
# self.startButton = QtGui.QPushButton(self.tr("Start"))
# self.startButton.clicked.connect(self.startCalculation)
# self.__layout.addWidget(self.startButton, 3, 1)
self.__mainLayout.addLayout(self.__layout)
# self.progress = QtGui.QLabel()
# self.__mainLayout.addWidget(self.progress)
self.__bbox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok)
self.__bbox.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
self.__bbox.accepted.connect(self.accept)
self.__mainLayout.addWidget(self.__bbox)
def layerChooze1(self, qgsMapLayer):
self.pointsLayersComboBox.setEditText(qgsMapLayer.name())
def layerChooze2(self, qgsMapLayer):
self.polygonsLayersComboBox.setEditText(qgsMapLayer.name())
def filedChooze(self, fieldName):
self.sender().setEditText(fieldName)
# def layernameSave(self, csTargetLayerName):
# if csTargetLayerName == u"":
# return
# setCSLayerName(csTargetLayerName)
def getSettings(self):
return [
self.pointsLayersComboBox.currentText(),
self.polygonsLayersComboBox.currentText(),
self.fieldName.currentText()
]
示例3: Dialog
# 需要導入模塊: from qgis.gui import QgsMapLayerComboBox [as 別名]
# 或者: from qgis.gui.QgsMapLayerComboBox import setEditable [as 別名]
class Dialog(QtGui.QDialog):
def __init__(
self,
curPointsLayerFrom,
curPointsLayerTo,
curFNIdFrom,
curFNLink,
curFNIdTo,
curResultLayerName,
parent=None):
QtGui.QDialog.__init__(self, parent)
self.resize(500, 200)
self.setWindowTitle(QgisPlugin().pluginName)
self.__mainLayout = QtGui.QVBoxLayout(self)
self.__layout = QtGui.QGridLayout(self)
l1 = QtGui.QLabel(self.tr(u"Point layer 'FROM'") + ":")
l1.setSizePolicy(
QtGui.QSizePolicy.Preferred,
QtGui.QSizePolicy.Fixed
)
self.__layout.addWidget(l1, 0, 0)
self.pointsLayerFrom = QgsMapLayerComboBox()
self.pointsLayerFrom.setSizePolicy(
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed
)
self.pointsLayerFrom.setFilters(QgsMapLayerProxyModel.PointLayer)
self.pointsLayerFrom.setEditable(True)
# self.pointsLayerFrom.setEditText(curPointsLayerFrom)
self.pointsLayerFrom.layerChanged.connect(self.choozeLayerFrom)
self.__layout.addWidget(self.pointsLayerFrom, 0, 1)
l2 = QtGui.QLabel(self.tr(u"Point layer 'TO'") + ":")
l2.setSizePolicy(
QtGui.QSizePolicy.Preferred,
QtGui.QSizePolicy.Fixed
)
self.__layout.addWidget(l2, 1, 0)
self.pointsLayerTo = QgsMapLayerComboBox()
self.pointsLayerTo.setSizePolicy(
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed
)
self.pointsLayerTo.setFilters(QgsMapLayerProxyModel.PointLayer)
self.pointsLayerTo.setEditable(True)
# self.pointsLayerTo.setEditText(curPointsLayerTo)
self.pointsLayerTo.layerChanged.connect(self.choozeLayerTo)
self.__layout.addWidget(self.pointsLayerTo, 1, 1)
self.__layout.addWidget(
QtGui.QLabel(self.tr(u"Point 'FROM' id field") + ":"),
2, 0
)
self.fnIdFrom = QgsFieldComboBox()
self.fnIdFrom.setFilters(QgsFieldProxyModel.Int | QgsFieldProxyModel.LongLong)
self.fnIdFrom.setEditable(True)
# self.fnIdFrom.setEditText(curFNIdFrom)
self.fnIdFrom.fieldChanged.connect(self.filedChooze)
self.__layout.addWidget(self.fnIdFrom, 2, 1)
self.__layout.addWidget(
QtGui.QLabel(self.tr(u"Link field") + ":"),
3, 0
)
self.fnLink = QgsFieldComboBox()
self.fnLink.setFilters(QgsFieldProxyModel.Int | QgsFieldProxyModel.LongLong)
self.fnLink.setEditable(True)
# self.fnLink.setEditText(curFNLink)
self.fnLink.fieldChanged.connect(self.filedChooze)
self.__layout.addWidget(self.fnLink, 3, 1)
self.__layout.addWidget(
QtGui.QLabel(self.tr(u"Point 'TO' id field") + ":"), 4, 0)
self.fnIdTo = QgsFieldComboBox()
self.fnIdTo.setFilters(QgsFieldProxyModel.Int | QgsFieldProxyModel.LongLong)
self.fnIdTo.setEditable(True)
# self.fnIdTo.setEditText(curFNIdTo)
self.fnIdTo.fieldChanged.connect(self.filedChooze)
self.__layout.addWidget(self.fnIdTo, 4, 1)
self.__layout.addWidget(
QtGui.QLabel(self.tr(u"Save result in layer") + ":"),
5, 0
)
self.linesLayer = QgsMapLayerComboBox()
self.linesLayer.setSizePolicy(
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed
)
self.linesLayer.setFilters(QgsMapLayerProxyModel.LineLayer)
self.linesLayer.setEditable(True)
self.linesLayer.layerChanged.connect(self.choozeResultLayer)
self.__layout.addWidget(self.linesLayer, 5, 1)
# self.__layout4resultFileChoose = QtGui.QHBoxLayout()
# self.leResultFilename = QtGui.QLineEdit(curResultFilename)
# self.__layout4resultFileChoose.addWidget(self.leResultFilename)
#.........這裏部分代碼省略.........