本文整理汇总了Python中qgis.PyQt.QtWidgets.QToolButton类的典型用法代码示例。如果您正苦于以下问题:Python QToolButton类的具体用法?Python QToolButton怎么用?Python QToolButton使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QToolButton类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: ButtonLineEdit
class ButtonLineEdit(QLineEdit):
buttonClicked = pyqtSignal()
def __init__(self, parent=None):
super(ButtonLineEdit, self).__init__(parent)
self.setPlaceholderText("Search")
self.btnSearch = QToolButton(self)
self.btnSearch.setIcon(QIcon(os.path.join(pluginPath, "icons", "search.svg")))
self.btnSearch.setStyleSheet("QToolButton { padding: 0px; }")
self.btnSearch.setCursor(Qt.ArrowCursor)
self.btnSearch.clicked.connect(self.buttonClicked.emit)
frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)
buttonSize = self.btnSearch.sizeHint()
self.setStyleSheet("QLineEdit {{padding-right: {}px; }}".format(buttonSize.width() + frameWidth + 1))
self.setMinimumSize(max(self.minimumSizeHint().width(), buttonSize.width() + frameWidth * 2 + 2),
max(self.minimumSizeHint().height(), buttonSize.height() + frameWidth * 2 + 2))
def resizeEvent(self, event):
buttonSize = self.btnSearch.sizeHint()
frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)
self.btnSearch.move(self.rect().right() - frameWidth - buttonSize.width(),
(self.rect().bottom() - buttonSize.height() + 1) / 2)
super(ButtonLineEdit, self).resizeEvent(event)
开发者ID:boundlessgeo,项目名称:qgis-connect-plugin,代码行数:28,代码来源:buttonlineedit.py
示例2: setupUi
def setupUi(self, PostNAS_SearchDialogBase):
PostNAS_SearchDialogBase.setObjectName(_fromUtf8("PostNAS_SearchDialogBase"))
PostNAS_SearchDialogBase.resize(501, 337)
self.gridLayout = QGridLayout(PostNAS_SearchDialogBase)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.treeWidget = QTreeWidget(PostNAS_SearchDialogBase)
self.treeWidget.setSelectionMode(QAbstractItemView.ExtendedSelection)
self.treeWidget.setHeaderHidden(True)
self.treeWidget.setObjectName(_fromUtf8("treeWidget"))
self.treeWidget.headerItem().setText(0, _fromUtf8("1"))
self.gridLayout.addWidget(self.treeWidget, 1, 0, 1, 3)
self.lineEdit = QLineEdit(PostNAS_SearchDialogBase)
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
self.gridLayout.addWidget(self.lineEdit, 0, 0, 1, 3)
self.showButton = QToolButton(PostNAS_SearchDialogBase)
self.showButton.setEnabled(False)
icon = QtGui.QIcon()
icon.addPixmap(QPixmap(_fromUtf8(":/plugins/PostNAS_Search/search_16x16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.showButton.setIcon(icon)
self.showButton.setObjectName(_fromUtf8("showButton"))
self.gridLayout.addWidget(self.showButton, 2, 2, 1, 1)
self.resetButton = QToolButton(PostNAS_SearchDialogBase)
self.resetButton.setEnabled(False)
icon1 = QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/PostNAS_Search/marker-delete.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.resetButton.setIcon(icon1)
self.resetButton.setObjectName(_fromUtf8("resetButton"))
self.gridLayout.addWidget(self.resetButton, 2, 1, 1, 1)
self.retranslateUi(PostNAS_SearchDialogBase)
QtCore.QMetaObject.connectSlotsByName(PostNAS_SearchDialogBase)
开发者ID:Kreis-Unna,项目名称:PostNAS_Search,代码行数:31,代码来源:PostNAS_SearchDialogBase.py
示例3: initGui
def initGui(self):
hlayout = QHBoxLayout()
layout = QVBoxLayout()
self.searchBox = QLineEdit()
self.searchBox.returnPressed.connect(self.search)
self.searchBox.setPlaceholderText("[Enter search string and press enter to search for maps]")
hlayout.addWidget(self.searchBox)
self.button = QToolButton()
self.button.setText("Search")
self.button.clicked.connect(self.search)
self.button.adjustSize()
self.searchBox.setFixedHeight(self.button.height())
hlayout.addWidget(self.button)
layout.addLayout(hlayout)
w = QFrame()
self.browser = QWebView()
w.setStyleSheet("QFrame{border:1px solid rgb(0, 0, 0);}")
innerlayout = QHBoxLayout()
innerlayout.setSpacing(0)
innerlayout.setMargin(0)
innerlayout.addWidget(self.browser)
w.setLayout(innerlayout)
layout.addWidget(w)
self.setLayout(layout)
self.browser.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
self.browser.settings().setUserStyleSheetUrl(QUrl("file://" + resourceFile("search.css").replace("\\", "/")))
self.browser.linkClicked.connect(self.linkClicked)
self.resize(600, 500)
self.setWindowTitle("Search stories")
开发者ID:boundlessgeo,项目名称:qgis-mapstory-plugin,代码行数:32,代码来源:searchdialog.py
示例4: FileDirectorySelector
class FileDirectorySelector(QWidget):
def __init__(self, parent=None, selectFile=False):
QWidget.__init__(self, parent)
# create gui
self.btnSelect = QToolButton()
self.btnSelect.setText('…')
self.lineEdit = QLineEdit()
self.hbl = QHBoxLayout()
self.hbl.setMargin(0)
self.hbl.setSpacing(0)
self.hbl.addWidget(self.lineEdit)
self.hbl.addWidget(self.btnSelect)
self.setLayout(self.hbl)
self.canFocusOut = False
self.selectFile = selectFile
self.setFocusPolicy(Qt.StrongFocus)
self.btnSelect.clicked.connect(self.select)
def select(self):
lastDir = ''
if not self.selectFile:
selectedPath = QFileDialog.getExistingDirectory(None,
self.tr('Select directory'), lastDir,
QFileDialog.ShowDirsOnly)
else:
selectedPath, selected_filter = QFileDialog.getOpenFileName(None,
self.tr('Select file'), lastDir, self.tr('All files (*.*)')
)
if not selectedPath:
return
self.lineEdit.setText(selectedPath)
self.canFocusOut = True
def text(self):
return self.lineEdit.text()
def setText(self, value):
self.lineEdit.setText(value)
开发者ID:mj10777,项目名称:QGIS,代码行数:45,代码来源:ConfigDialog.py
示例5: MultipleDirectorySelector
class MultipleDirectorySelector(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
# create gui
self.btnSelect = QToolButton()
self.btnSelect.setText('…')
self.lineEdit = QLineEdit()
self.hbl = QHBoxLayout()
self.hbl.setMargin(0)
self.hbl.setSpacing(0)
self.hbl.addWidget(self.lineEdit)
self.hbl.addWidget(self.btnSelect)
self.setLayout(self.hbl)
self.canFocusOut = False
self.setFocusPolicy(Qt.StrongFocus)
self.btnSelect.clicked.connect(self.select)
def select(self):
text = self.lineEdit.text()
if text != '':
items = text.split(';')
else:
items = []
dlg = DirectorySelectorDialog(None, items)
if dlg.exec_():
text = dlg.value()
self.lineEdit.setText(text)
self.canFocusOut = True
def text(self):
return self.lineEdit.text()
def setText(self, value):
self.lineEdit.setText(value)
开发者ID:phborba,项目名称:QGIS,代码行数:41,代码来源:ConfigDialog.py
示例6: createWidget
def createWidget(self):
if self.dialogType == DIALOG_MODELER:
self.combo = QComboBox()
widget = QWidget()
layout = QHBoxLayout()
layout.setMargin(0)
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(1)
layout.addWidget(self.combo)
btn = QToolButton()
btn.setIcon(QgsApplication.getThemeIcon("mActionSetProjection.svg"))
btn.setToolTip(self.tr("Select CRS"))
btn.clicked.connect(self.selectProjection)
layout.addWidget(btn)
widget.setLayout(layout)
self.combo.setEditable(True)
crss = self.dialog.getAvailableValuesOfType(ParameterCrs)
for crs in crss:
self.combo.addItem(self.dialog.resolveValueDescription(crs), crs)
raster = self.dialog.getAvailableValuesOfType(ParameterRaster, OutputRaster)
vector = self.dialog.getAvailableValuesOfType(ParameterVector, OutputVector)
for r in raster:
self.combo.addItem("Crs of layer " + self.dialog.resolveValueDescription(r), r)
for v in vector:
self.combo.addItem("Crs of layer " + self.dialog.resolveValueDescription(v), v)
if not self.param.default:
self.combo.setEditText(self.param.default)
return widget
else:
widget = QgsProjectionSelectionWidget()
if self.param.optional:
widget.setOptionVisible(QgsProjectionSelectionWidget.CrsNotSet, True)
if self.param.default:
crs = QgsCoordinateReferenceSystem(self.param.default)
widget.setCrs(crs)
return widget
开发者ID:GrokImageCompression,项目名称:QGIS,代码行数:40,代码来源:wrappers.py
示例7: __init__
def __init__(self, parent, tree, providerName, param):
QTreeWidgetItem.__init__(self, parent)
self.providereName = providerName
self.param = param
self.tree = tree
self.setText(0, param.description)
self.paramName = settingName(providerName, param.name)
if isinstance(param.defaultValue, bool):
self.value = QSettings().value(self.paramName, defaultValue=param.defaultValue, type=bool)
if self.value:
self.setCheckState(1, Qt.Checked)
else:
self.setCheckState(1, Qt.Unchecked)
elif isinstance(param.defaultValue, list):
self.combo = QComboBox()
for element in param.defaultValue:
self.combo.addItem(element)
self.tree.setItemWidget(self, 1, self.combo)
self.value = QSettings().value(self.paramName, defaultValue=param.defaultValue[0])
idx = self.combo.findText(self.value)
self.combo.setCurrentIndex(idx)
elif param.description == "Password":
self.passwordField = QLineEdit()
self.passwordField.setEchoMode(QLineEdit.Password);
#self.passwordField.setStyleSheet("QLineEdit { border: none }");
self.value = QSettings().value(self.paramName, defaultValue=param.defaultValue)
self.passwordField.setText(str(self.value))
self.tree.setItemWidget(self, 1, self.passwordField)
elif param.action is not None:
layout = QHBoxLayout()
layout.setMargin(0)
layout.setSpacing(0)
self.textbox = QLineEdit()
self.value = QSettings().value(self.paramName, defaultValue=param.defaultValue)
self.textbox.setText(str(self.value))
layout.addWidget(self.textbox)
self.button = QToolButton()
self.button.setText(param.actionText)
self.button.clicked.connect(param.action)
layout.addWidget(self.button)
self.widget = QWidget()
self.widget.setLayout(layout)
self.tree.setItemWidget(self, 1, self.widget)
else:
self.textbox = QLineEdit()
#self.textbox.setStyleSheet("QLineEdit { border: none }");
self.tree.setItemWidget(self, 1, self.textbox)
self.value = QSettings().value(self.paramName, defaultValue=param.defaultValue)
self.textbox.setText(str(self.value))
开发者ID:boundlessgeo,项目名称:qgis-baselayers-plugin,代码行数:49,代码来源:configdialog.py
示例8: initGui
def initGui(self):
readTrackedLayers()
QgsMapLayerRegistry.instance().layerWasAdded.connect(trackLayer)
QgsMapLayerRegistry.instance().layerRemoved.connect(layerRemoved)
icon = QIcon(os.path.dirname(__file__) + "/ui/resources/geogig.png")
self.explorerAction = navigatorInstance.toggleViewAction()
self.explorerAction.setIcon(icon)
self.explorerAction.setText("GeoGig Navigator")
icon = QIcon(os.path.dirname(__file__) + "/ui/resources/identify.png")
self.toolAction = QAction(icon, "GeoGig Feature Info Tool", self.iface.mainWindow())
self.toolAction.setCheckable(True)
self.toolAction.triggered.connect(self.setTool)
self.menu = QMenu(self.iface.mainWindow())
self.menu.setTitle("GeoGig")
self.menu.addAction(self.explorerAction)
self.menu.addAction(self.toolAction)
bar = self.iface.layerToolBar()
self.toolButton = QToolButton()
self.toolButton.setMenu(self.menu)
self.toolButton.setPopupMode(QToolButton.MenuButtonPopup)
self.toolButton.setDefaultAction(self.explorerAction)
bar.addWidget(self.toolButton)
self.iface.addPluginToMenu("&GeoGig", self.explorerAction)
self.iface.addPluginToMenu("&GeoGig", self.toolAction)
addSettingsMenu("GeoGig")
addHelpMenu("GeoGig")
addAboutMenu("GeoGig")
self.mapTool = MapToolGeoGigInfo(self.iface.mapCanvas())
#This crashes QGIS, so we comment it out until finding a solution
#self.mapTool.setAction(self.toolAction)
self.iface.addDockWidget(Qt.RightDockWidgetArea, navigatorInstance)
try:
from lessons import addLessonsFolder, addGroup
folder = os.path.join(os.path.dirname(__file__), "_lessons")
addLessonsFolder(folder, "geogig")
group_description = os.path.join(folder, "group.md")
addGroup("GeoGig lessons", group_description)
except Exception as e:
pass
开发者ID:boundlessgeo,项目名称:qgis-geogiglight-plugin,代码行数:47,代码来源:plugin.py
示例9: __init__
def __init__(self, repo, ref = None):
super(RefPanel, self).__init__(None)
self.repo = repo
self.ref = ref
self.horizontalLayout = QHBoxLayout(self)
self.horizontalLayout.setSpacing(2)
self.horizontalLayout.setMargin(0)
self.text = QLineEdit()
self.text.setEnabled(False)
if ref is not None:
self.text.setText(ref.humantext())
self.text.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
self.horizontalLayout.addWidget(self.text)
self.pushButton = QToolButton()
self.pushButton.setText("...")
self.pushButton.clicked.connect(self.showSelectionDialog)
self.pushButton.setEnabled(self.repo is not None)
self.horizontalLayout.addWidget(self.pushButton)
self.setLayout(self.horizontalLayout)
开发者ID:boundlessgeo,项目名称:qgis-geogiglight-plugin,代码行数:19,代码来源:geogigref.py
示例10: __init__
def __init__(self, parent=None):
QWidget.__init__(self, parent)
# create gui
self.btnSelect = QToolButton()
self.btnSelect.setText('…')
self.lineEdit = QLineEdit()
self.hbl = QHBoxLayout()
self.hbl.setMargin(0)
self.hbl.setSpacing(0)
self.hbl.addWidget(self.lineEdit)
self.hbl.addWidget(self.btnSelect)
self.setLayout(self.hbl)
self.canFocusOut = False
self.setFocusPolicy(Qt.StrongFocus)
self.btnSelect.clicked.connect(self.select)
开发者ID:mj10777,项目名称:QGIS,代码行数:19,代码来源:ConfigDialog.py
示例11: RefPanel
class RefPanel(QWidget):
refChanged = pyqtSignal()
def __init__(self, repo, ref = None):
super(RefPanel, self).__init__(None)
self.repo = repo
self.ref = ref
self.horizontalLayout = QHBoxLayout(self)
self.horizontalLayout.setSpacing(2)
self.horizontalLayout.setMargin(0)
self.text = QLineEdit()
self.text.setEnabled(False)
if ref is not None:
self.text.setText(ref.humantext())
self.text.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
self.horizontalLayout.addWidget(self.text)
self.pushButton = QToolButton()
self.pushButton.setText("...")
self.pushButton.clicked.connect(self.showSelectionDialog)
self.pushButton.setEnabled(self.repo is not None)
self.horizontalLayout.addWidget(self.pushButton)
self.setLayout(self.horizontalLayout)
def showSelectionDialog(self):
from geogig.gui.dialogs.historyviewer import HistoryViewerDialog
dialog = HistoryViewerDialog(self.repo)
dialog.exec_()
ref = dialog.ref
if ref:
commit = Commit.fromref(self.repo, ref)
self.setRef(commit)
def setRepo(self, repo):
self.repo = repo
self.pushButton.setEnabled(True)
self.setRef(Commitish(repo, repo.HEAD))
def setRef(self, ref):
self.ref = ref
self.text.setText(ref.humantext())
self.refChanged.emit()
def getRef(self):
return self.ref
开发者ID:boundlessgeo,项目名称:qgis-geogiglight-plugin,代码行数:45,代码来源:geogigref.py
示例12: addProviderActions
def addProviderActions(self, provider):
if provider.id() in ProviderActions.actions:
toolbarButton = QToolButton()
toolbarButton.setObjectName('provideraction_' + provider.id())
toolbarButton.setIcon(provider.icon())
toolbarButton.setToolTip(provider.name())
toolbarButton.setPopupMode(QToolButton.InstantPopup)
actions = ProviderActions.actions[provider.id()]
menu = QMenu(provider.name(), self)
for action in actions:
action.setData(self)
act = QAction(action.name, menu)
act.triggered.connect(action.execute)
menu.addAction(act)
toolbarButton.setMenu(menu)
self.processingToolbar.addWidget(toolbarButton)
开发者ID:tomkralidis,项目名称:QGIS,代码行数:17,代码来源:ProcessingToolbox.py
示例13: PythonConsoleWidget
#.........这里部分代码省略.........
self.toolBarEditor.addAction(self.runScriptEditorButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.findTextButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.cutEditorButton)
self.toolBarEditor.addAction(self.copyEditorButton)
self.toolBarEditor.addAction(self.pasteEditorButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.commentEditorButton)
self.toolBarEditor.addAction(self.uncommentEditorButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.objectListButton)
# Menu Import Class
default_command = {
(QCoreApplication.translate("PythonConsole", "Import Processing Class"),
QgsApplication.getThemeIcon("console/iconProcessingConsole.png")):
["import processing"],
(QCoreApplication.translate("PythonConsole", "Import PyQt.QtCore Class"),
QgsApplication.getThemeIcon("console/iconQtCoreConsole.png")):
["from qgis.PyQt.QtCore import *"],
(QCoreApplication.translate("PythonConsole", "Import PyQt.QtGui Class"),
QgsApplication.getThemeIcon("console/iconQtGuiConsole.png")):
["from qgis.PyQt.QtGui import *", "from qgis.PyQt.QtWidgets import *"]
}
self.classMenu = QMenu()
for (title, icon), commands in list(default_command.items()):
action = self.classMenu.addAction(icon, title)
action.triggered.connect(partial(self.shell.commandConsole, commands))
cM = self.toolBar.widgetForAction(self.actionClass)
cM.setMenu(self.classMenu)
cM.setPopupMode(QToolButton.InstantPopup)
self.widgetButton = QWidget()
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.widgetButton.sizePolicy().hasHeightForWidth())
self.widgetButton.setSizePolicy(sizePolicy)
self.widgetButtonEditor = QWidget(self.widgetEditor)
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.widgetButtonEditor.sizePolicy().hasHeightForWidth())
self.widgetButtonEditor.setSizePolicy(sizePolicy)
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.shellOut.sizePolicy().hasHeightForWidth())
self.shellOut.setSizePolicy(sizePolicy)
self.shellOut.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
self.shell.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
# ------------ Layout -------------------------------
self.mainLayout = QGridLayout(self)
self.mainLayout.setMargin(0)
self.mainLayout.setSpacing(0)
self.mainLayout.addWidget(self.widgetButton, 0, 0, 1, 1)
self.mainLayout.addWidget(self.splitterEditor, 0, 1, 1, 1)
开发者ID:cayetanobv,项目名称:QGIS,代码行数:66,代码来源:console.py
示例14: initWidgets
def initWidgets(self):
# If there are advanced parameters — show corresponding groupbox
for param in self.alg.parameterDefinitions():
if param.flags() & QgsProcessingParameterDefinition.FlagAdvanced:
self.grpAdvanced.show()
break
widget_context = QgsProcessingParameterWidgetContext()
if iface is not None:
widget_context.setMapCanvas(iface.mapCanvas())
# Create widgets and put them in layouts
for param in self.alg.parameterDefinitions():
if param.flags() & QgsProcessingParameterDefinition.FlagHidden:
continue
if param.isDestination():
continue
else:
wrapper = WidgetWrapperFactory.create_wrapper(param, self.parent)
self.wrappers[param.name()] = wrapper
# For compatibility with 3.x API, we need to check whether the wrapper is
# the deprecated WidgetWrapper class. If not, it's the newer
# QgsAbstractProcessingParameterWidgetWrapper class
# TODO QGIS 4.0 - remove
is_python_wrapper = issubclass(wrapper.__class__, WidgetWrapper)
if not is_python_wrapper:
wrapper.setWidgetContext(widget_context)
widget = wrapper.createWrappedWidget(self.processing_context)
wrapper.registerProcessingContextGenerator(self.context_generator)
else:
widget = wrapper.widget
if self.in_place and param.name() in ('INPUT', 'OUTPUT'):
# don't show the input/output parameter widgets in in-place mode
# we still need to CREATE them, because other wrappers may need to interact
# with them (e.g. those parameters which need the input layer for field
# selections/crs properties/etc)
continue
if widget is not None:
if is_python_wrapper:
widget.setToolTip(param.toolTip())
if isinstance(param, QgsProcessingParameterFeatureSource):
layout = QHBoxLayout()
layout.setSpacing(6)
layout.setMargin(0)
layout.addWidget(widget)
button = QToolButton()
icon = QIcon(os.path.join(pluginPath, 'images', 'iterate.png'))
button.setIcon(icon)
button.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)
button.setToolTip(self.tr('Iterate over this layer, creating a separate output for every feature in the layer'))
button.setCheckable(True)
layout.addWidget(button)
layout.setAlignment(button, Qt.AlignTop)
self.iterateButtons[param.name()] = button
button.toggled.connect(self.buttonToggled)
widget = QWidget()
widget.setLayout(layout)
label = None
if not is_python_wrapper:
label = wrapper.createWrappedLabel()
else:
label = wrapper.label
if label is not None:
if param.flags() & QgsProcessingParameterDefinition.FlagAdvanced:
self.layoutAdvanced.addWidget(label)
else:
self.layoutMain.insertWidget(
self.layoutMain.count() - 2, label)
elif is_python_wrapper:
desc = param.description()
if isinstance(param, QgsProcessingParameterExtent):
desc += self.tr(' (xmin, xmax, ymin, ymax)')
if isinstance(param, QgsProcessingParameterPoint):
desc += self.tr(' (x, y)')
if param.flags() & QgsProcessingParameterDefinition.FlagOptional:
desc += self.tr(' [optional]')
widget.setText(desc)
if param.flags() & QgsProcessingParameterDefinition.FlagAdvanced:
self.layoutAdvanced.addWidget(widget)
else:
self.layoutMain.insertWidget(
self.layoutMain.count() - 2, widget)
for output in self.alg.destinationParameterDefinitions():
if output.flags() & QgsProcessingParameterDefinition.FlagHidden:
continue
if self.in_place and param.name() in ('INPUT', 'OUTPUT'):
continue
label = QLabel(output.description())
widget = DestinationSelectionPanel(output, self.alg)
self.layoutMain.insertWidget(self.layoutMain.count() - 1, label)
#.........这里部分代码省略.........
开发者ID:enricofer,项目名称:QGIS,代码行数:101,代码来源:ParametersPanel.py
示例15: __init__
#.........这里部分代码省略.........
self.algorithmsDock.setWindowTitle(self.tr("Algorithms"))
self.searchBox.setToolTip(self.tr("Enter algorithm name to filter list"))
self.searchBox.setShowSearchIcon(True)
self.variables_dock = QgsDockWidget(self)
self.variables_dock.setFeatures(QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetMovable)
self.variables_dock.setObjectName("variablesDock")
self.variables_dock_contents = QWidget()
vl_v = QVBoxLayout()
vl_v.setContentsMargins(0, 0, 0, 0)
self.variables_editor = QgsVariableEditorWidget()
vl_v.addWidget(self.variables_editor)
self.variables_dock_contents.setLayout(vl_v)
self.variables_dock.setWidget(self.variables_dock_contents)
self.addDockWidget(Qt.DockWidgetArea(1), self.variables_dock)
self.variables_dock.setWindowTitle(self.tr("Variables"))
self.addDockWidget(Qt.DockWidgetArea(1), self.propertiesDock)
self.tabifyDockWidget(self.propertiesDock, self.variables_dock)
self.variables_editor.scopeChanged.connect(self.variables_changed)
self.bar = QgsMessageBar()
self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
self.centralWidget().layout().insertWidget(0, self.bar)
try:
self.setDockOptions(self.dockOptions() | QMainWindow.GroupedDragging)
except:
pass
if iface is not None:
self.mToolbar.setIconSize(iface.iconSize())
self.setStyleSheet(iface.mainWindow().styleSheet())
self.toolbutton_export_to_script = QToolButton()
self.toolbutton_export_to_script.setPopupMode(QToolButton.InstantPopup)
self.export_to_script_algorithm_action = QAction(QCoreApplication.translate('ModelerDialog', 'Export as Script Algorithm…'))
self.toolbutton_export_to_script.addActions([self.export_to_script_algorithm_action])
self.mToolbar.insertWidget(self.mActionExportImage, self.toolbutton_export_to_script)
self.export_to_script_algorithm_action.triggered.connect(self.export_as_script_algorithm)
self.mActionOpen.setIcon(
QgsApplication.getThemeIcon('/mActionFileOpen.svg'))
self.mActionSave.setIcon(
QgsApplication.getThemeIcon('/mActionFileSave.svg'))
self.mActionSaveAs.setIcon(
QgsApplication.getThemeIcon('/mActionFileSaveAs.svg'))
self.mActionSaveInProject.setIcon(
QgsApplication.getThemeIcon('/mAddToProject.svg'))
self.mActionZoomActual.setIcon(
QgsApplication.getThemeIcon('/mActionZoomActual.svg'))
self.mActionZoomIn.setIcon(
QgsApplication.getThemeIcon('/mActionZoomIn.svg'))
self.mActionZoomOut.setIcon(
QgsApplication.getThemeIcon('/mActionZoomOut.svg'))
self.mActionExportImage.setIcon(
QgsApplication.getThemeIcon('/mActionSaveMapAsImage.svg'))
self.mActionZoomToItems.setIcon(
QgsApplication.getThemeIcon('/mActionZoomFullExtent.svg'))
self.mActionExportPdf.setIcon(
QgsApplication.getThemeIcon('/mActionSaveAsPDF.svg'))
self.mActionExportSvg.setIcon(
QgsApplication.getThemeIcon('/mActionSaveAsSVG.svg'))
self.toolbutton_export_to_script.setIcon(
QgsApplication.getThemeIcon('/mActionSaveAsPython.svg'))
self.mActionEditHelp.setIcon(
QgsApplication.getThemeIcon('/mActionEditHelpContent.svg'))
开发者ID:dwsilk,项目名称:QGIS,代码行数:67,代码来源:ModelerDialog.py
示例16: __init__
#.........这里部分代码省略.........
self.toolBarEditor.addAction(self.runScriptEditorButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.findTextButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.cutEditorButton)
self.toolBarEditor.addAction(self.copyEditorButton)
self.toolBarEditor.addAction(self.pasteEditorButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.commentEditorButton)
self.toolBarEditor.addAction(self.uncommentEditorButton)
self.toolBarEditor.addSeparator()
self.toolBarEditor.addAction(self.objectListButton)
# Menu Import Class
default_command = {
(QCoreApplication.translate("PythonConsole", "Import Processing Class"),
QgsApplication.getThemeIcon("console/iconProcessingConsole.png")):
["import processing"],
(QCoreApplication.translate("PythonConsole", "Import PyQt.QtCore Class"),
QgsApplication.getThemeIcon("console/iconQtCoreConsole.png")):
["from qgis.PyQt.QtCore import *"],
(QCoreApplication.translate("PythonConsole", "Import PyQt.QtGui Class"),
QgsApplication.getThemeIcon("console/iconQtGuiConsole.png")):
["from qgis.PyQt.QtGui import *", "from qgis.PyQt.QtWidgets import *"]
}
self.classMenu = QMenu()
for (title, icon), commands in list(default_command.items()):
action = self.classMenu.addAction(icon, title)
action.triggered.connect(partial(self.shell.commandConsole, commands))
cM = self.toolBar.widgetForAction(self.actionClass)
cM.setMenu(self.classMenu)
cM.setPopupMode(QToolButton.InstantPopup)
self.widgetButton = QWidget()
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.widgetButton.sizePolicy().hasHeightForWidth())
self.widgetButton.setSizePolicy(sizePolicy)
self.widgetButtonEditor = QWidget(self.widgetEditor)
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.widgetButtonEditor.sizePolicy().hasHeightForWidth())
self.widgetButtonEditor.setSizePolicy(sizePolicy)
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.shellOut.sizePolicy().hasHeightForWidth())
self.shellOut.setSizePolicy(sizePolicy)
self.shellOut.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
self.shell.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
# ------------ Layout -------------------------------
self.mainLayout = QGridLayout(self)
self.mainLayout.setMargin(0)
self.mainLayout.setSpacing(0)
self.mainLayout.addWidget(self.widgetButton, 0, 0, 1, 1)
self.mainLayout.addWidget(self.splitterEditor, 0, 1, 1, 1)
开发者ID:cayetanobv,项目名称:QGIS,代码行数:66,代码来源:console.py
示例17: __init__
def __init__(self, geoservice, image_ba, parent=None, extent_renderer=None):
QWidget.__init__(self, parent)
self.extent_renderer = extent_renderer
self.layout = QHBoxLayout(self)
self.layout.setContentsMargins(5, 10, 5, 10)
self.setLayout(self.layout)
self.service_icon = QLabel(self)
self.service_icon.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
self.service_icon.resize(24, 24)
qimg = QImage.fromData(image_ba)
pixmap = QPixmap.fromImage(qimg)
self.service_icon.setPixmap(pixmap)
self.layout.addWidget(self.service_icon)
self.service_desc_layout = QGridLayout(self)
self.service_desc_layout.setSpacing(0)
self.layout.addLayout(self.service_desc_layout)
self.service_name = QLabel(self)
self.service_name.setTextFormat(Qt.RichText)
self.service_name.setWordWrap(True)
self.service_name.setText(u" <strong> {} </strong>".format(geoservice.get('name', u"")))
self.service_desc_layout.addWidget(self.service_name, 0, 0, 1, 3)
self.service_type = QLabel(self)
self.service_type.setTextFormat(Qt.RichText)
self.service_type.setWordWrap(True)
self.service_type.setText(geoservice.get('type', u"").upper() + " ")
self.service_desc_layout.addWidget(self.service_type, 1, 0)
self.service_deteils = QLabel(self)
self.service_deteils.setTextFormat(Qt.RichText)
self.service_deteils.setWordWrap(True)
self.service_deteils.setOpenExternalLinks(True)
self.service_deteils.setText(u"<a href=\"{0}\">{1}</a>, ".format(
Client().geoservice_info_url(geoservice.get('id', u"")),
self.tr('details')
))
self.service_desc_layout.addWidget(self.service_deteils, 1, 1)
self.service_report = QLabel(self)
self.service_report.setTextFormat(Qt.RichText)
self.service_report.setWordWrap(True)
self.service_report.setOpenExternalLinks(True)
self.service_report.setText(u"<a href=\"{0}\">{1}</a><div/>".format(
Client().geoservice_report_url(geoservice.get('id', u"")),
self.tr('report a problem')
))
self.service_desc_layout.addWidget(self.service_report, 1, 2)
self.service_desc_layout.setColumnStretch(2, 1)
self.status_label = QLabel(self)
self.status_label.setTextFormat(Qt.RichText)
self.status_label.setText(u'\u2022')
status = geoservice.get('cumulative_status', u'')
if status == 'works':
self.status_label.setStyleSheet("color: green; font-size: 30px")
if status == 'failed':
self.status_label.setStyleSheet("color: red; font-size: 30px")
if status == 'problematic':
self.status_label.setStyleSheet("color: yellow; font-size: 30px")
self.layout.addWidget(self.status_label)
self.addButton = QToolButton()
self.addButton.setText(self.tr("Add"))
self.addButton.clicked.connect(self.addToMap)
self.layout.addWidget(self.addButton)
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
self.geoservice = geoservice
self.image_ba = image_ba
开发者ID:nextgis,项目名称:quickmapservices,代码行数:80,代码来源:qms_service_toolbox.py
示例18: ModelerDialog
#.........这里部分代码省略.........
self.algorithmsDock.setWindowTitle(self.tr("Algorithms"))
self.searchBox.setToolTip(self.tr("Enter algorithm name to filter list"))
self.searchBox.setShowSearchIcon(True)
self.variables_dock = QgsDockWidget(self)
self.variables_dock.setFeatures(QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetMovable)
self.variables_dock.setObjectName("variablesDock")
self.variables_dock_contents = QWidget()
vl_v = QVBoxLayout()
vl_v.setContentsMargins(0, 0, 0, 0)
self.variables_editor = QgsVariableEditorWidget()
vl_v.addWidget(self.variables_editor)
self.variables_dock_contents.setLayout(vl_v)
self.variables_dock.setWidget(self.variables_dock_contents)
self.addDockWidget(Qt.DockWidgetArea(1), self.variables_dock)
self.variables_dock.setWindowTitle(self.tr("Variables"))
self.addDockWidget(Qt.DockWidgetArea(1), self.propertiesDock)
self.tabifyDockWidget(self.propertiesDock, self.variables_dock)
self.variables_editor.scopeChanged.connect(self.variables_changed)
self.bar = QgsMessageBar()
self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
self.centralWidget().layout().insertWidget(0, self.bar)
try:
self.setDockOptions(self.dockOptions() | QMainWindow.GroupedDragging)
except:
pass
if iface is not None:
self.mToolbar.setIconSize(iface.iconSize())
self.setStyleSheet(iface.mainWindow().styleSheet())
self.toolbutton_export_to_script = QToolButton()
self.toolbutton_export_to_script.setPopupMode(QToolButton.InstantPopup)
self.export_to_script_algorithm_action = QAction(QCoreApplication.translate('ModelerDialog', 'Export as Script Algorithm…'))
self.toolbutton_export_to_script.addActions([self.export_to_script_algorithm_action])
self.mToolbar.insertWidget(self.mActionExportImage, self.toolbutton_export_to_script)
self.export_to_script_algorithm_action.triggered.connect(self.export_as_script_algorithm)
self.mActionOpen.setIcon(
QgsApplication.getThemeIcon('/mActionFileOpen.svg'))
self.mActionSave.setIcon(
QgsApplication.getThemeIcon('/mActionFileSave.svg'))
self.mActionSaveAs.setIcon(
QgsApplication.getThemeIcon('/mActionFileSaveAs.svg'))
self.mActionSaveInProject.setIcon(
QgsApplication.getThemeIcon('/mAddToProject.svg'))
self.mActionZoomActual.setIcon(
QgsApplication.getThemeIcon('/mActionZoomActual.svg'))
self.mActionZoomIn.setIcon(
QgsApplication.getThemeIcon('/mActionZoomIn.svg'))
self.mActionZoomOut.setIcon(
QgsApplication.getThemeIcon('/mActionZoomOut.svg'))
self.mActionExportImage.setIcon(
QgsApplication.getTh
|
请发表评论