def testSetModel(self): view = QgsLayerTreeView() # should not work string_list_model = QStringListModel() view.setModel(string_list_model) self.assertFalse(view.model()) # should work view.setModel(self.model) self.assertEqual(view.model(), self.model)
def testMoveToTopActionLayer(self): """Test move to top action on layer""" view = QgsLayerTreeView() view.setModel(self.model) actions = QgsLayerTreeViewDefaultActions(view) self.assertEqual(self.project.layerTreeRoot().layerOrder(), [self.layer, self.layer2, self.layer3]) view.setCurrentLayer(self.layer3) movetotop = actions.actionMoveToTop() movetotop.trigger() self.assertEqual(self.project.layerTreeRoot().layerOrder(), [self.layer3, self.layer, self.layer2])
def setTreeView(): def setModel(): self.model = QgsLayerTreeModel(ltg) self.model.setFlag(QgsLayerTreeModel.AllowNodeReorder) self.model.setFlag(QgsLayerTreeModel.AllowNodeChangeVisibility, True) self.tview.setModel(self.model) self.tview = QgsLayerTreeView(self) self.tview.setSelectionMode(QAbstractItemView.ExtendedSelection) setModel() self.tview.currentLayerChanged.connect( self.currentLayerChanged.emit)
def testDefaultActions(self): view = QgsLayerTreeView() view.setModel(self.model) actions = QgsLayerTreeViewDefaultActions(view) # show in overview action view.setCurrentLayer(self.layer) self.assertEqual(view.currentNode().customProperty('overview', 0), False) show_in_overview = actions.actionShowInOverview() show_in_overview.trigger() self.assertEqual(view.currentNode().customProperty('overview', 0), True) show_in_overview.trigger() self.assertEqual(view.currentNode().customProperty('overview', 0), False)
def testSetModel(self): view = QgsLayerTreeView() # should not work string_list_model = QStringListModel() view.setModel(string_list_model) self.assertFalse(view.model()) # should work view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) self.assertEqual(view.layerTreeModel(), self.model)
def testSetCurrentLayer(self): view = QgsLayerTreeView() view.setModel(self.model) current_layer_changed_spy = QSignalSpy(view.currentLayerChanged) self.assertFalse(view.currentLayer()) view.setCurrentLayer(self.layer3) self.assertEqual(view.currentLayer(), self.layer3) self.assertEqual(len(current_layer_changed_spy), 1) view.setCurrentLayer(self.layer) self.assertEqual(view.currentLayer(), self.layer) self.assertEqual(len(current_layer_changed_spy), 2) view.setCurrentLayer(None) self.assertFalse(view.currentLayer()) self.assertEqual(len(current_layer_changed_spy), 3)
def testSetLayerVisible(self): view = QgsLayerTreeView() view.setModel(self.model) self.project.layerTreeRoot().findLayer(self.layer).setItemVisibilityChecked(True) self.project.layerTreeRoot().findLayer(self.layer2).setItemVisibilityChecked(True) self.assertTrue(self.project.layerTreeRoot().findLayer(self.layer).itemVisibilityChecked()) self.assertTrue(self.project.layerTreeRoot().findLayer(self.layer2).itemVisibilityChecked()) view.setLayerVisible(None, True) view.setLayerVisible(self.layer, True) self.assertTrue(self.project.layerTreeRoot().findLayer(self.layer).itemVisibilityChecked()) view.setLayerVisible(self.layer2, False) self.assertFalse(self.project.layerTreeRoot().findLayer(self.layer2).itemVisibilityChecked()) view.setLayerVisible(self.layer2, True) self.assertTrue(self.project.layerTreeRoot().findLayer(self.layer2).itemVisibilityChecked())
def testMoveToBottomActionLayer(self): """Test move to bottom action on layer""" view = QgsLayerTreeView() view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) actions = QgsLayerTreeViewDefaultActions(view) self.assertEqual(self.project.layerTreeRoot().layerOrder(), [self.layer, self.layer2, self.layer3]) view.setCurrentLayer(self.layer) movetobottom = actions.actionMoveToBottom() movetobottom.trigger() self.assertEqual(self.project.layerTreeRoot().layerOrder(), [self.layer2, self.layer3, self.layer])
def testAddGroupActionGroups(self): """Test add group action on several groups""" view = QgsLayerTreeView() group = self.project.layerTreeRoot().insertGroup(0, "embeddedgroup") group.addLayer(self.layer4) groupname = group.name() group2 = self.project.layerTreeRoot().insertGroup(0, "embeddedgroup2") group2.addLayer(self.layer5) groupname2 = group2.name() view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) actions = QgsLayerTreeViewDefaultActions(view) self.assertEqual( self.nodeOrder(self.project.layerTreeRoot().children()), [ groupname2, groupname2 + '-' + self.layer5.name(), groupname, groupname + '-' + self.layer4.name(), self.layer.name(), self.layer2.name(), self.layer3.name(), ]) selectionMode = view.selectionMode() view.setSelectionMode(QgsLayerTreeView.MultiSelection) nodeLayerIndex = view.node2index(group) view.setCurrentIndex(nodeLayerIndex) nodeLayerIndex2 = view.node2index(group2) view.setCurrentIndex(nodeLayerIndex2) view.setSelectionMode(selectionMode) addgroup = actions.actionAddGroup() addgroup.trigger() self.assertEqual( self.nodeOrder(self.project.layerTreeRoot().children()), [ self.groupname + '1', self.groupname + '1' + '-' + groupname, self.groupname + '1' + '-' + groupname + '-' + self.layer4.name(), self.groupname + '1' + '-' + groupname2, self.groupname + '1' + '-' + groupname2 + '-' + self.layer5.name(), self.layer.name(), self.layer2.name(), self.layer3.name() ])
def testSetCurrentLayer(self): view = QgsLayerTreeView() view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) current_layer_changed_spy = QSignalSpy(view.currentLayerChanged) self.assertFalse(view.currentLayer()) view.setCurrentLayer(self.layer3) self.assertEqual(view.currentLayer(), self.layer3) self.assertEqual(len(current_layer_changed_spy), 1) view.setCurrentLayer(self.layer) self.assertEqual(view.currentLayer(), self.layer) self.assertEqual(len(current_layer_changed_spy), 2) view.setCurrentLayer(None) self.assertFalse(view.currentLayer()) self.assertEqual(len(current_layer_changed_spy), 3)
def testDefaultActions(self): view = QgsLayerTreeView() view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) actions = QgsLayerTreeViewDefaultActions(view) # show in overview action view.setCurrentLayer(self.layer) self.assertEqual(view.currentNode().customProperty('overview', 0), False) show_in_overview = actions.actionShowInOverview() show_in_overview.trigger() self.assertEqual(view.currentNode().customProperty('overview', 0), True) show_in_overview.trigger() self.assertEqual(view.currentNode().customProperty('overview', 0), False)
def init_layerTree(self): self.layer_tree_view = QgsLayerTreeView(self) layout = QVBoxLayout(self.layerTreeWidget) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self.layer_tree_view) model = QgsLayerTreeModel(QgsProject.instance().layerTreeRoot(), self) model.setFlag(QgsLayerTreeModel.AllowNodeRename) model.setFlag(QgsLayerTreeModel.AllowNodeReorder) model.setFlag(QgsLayerTreeModel.AllowNodeChangeVisibility) model.setFlag(QgsLayerTreeModel.ShowLegendAsTree) model.setAutoCollapseLegendNodes(10) self.layer_tree_view.setModel(model) provider = MenuProvider(self.layer_tree_view, self.mapCanvas, self.project.instance()) self.layer_tree_view.setMenuProvider(provider) # 注意self.layer_tree_bridge必须有 self.layer_tree_bridge = QgsLayerTreeMapCanvasBridge( self.project.instance().layerTreeRoot(), self.mapCanvas)
def testNode2IndexMethods(self): """Test node2index and node2sourceIndex""" view = QgsLayerTreeView() view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) tree_model = view.layerTreeModel() proxy_model = view.proxyModel() proxy_index = proxy_model.index(1, 0) node2 = view.index2node(proxy_index) self.assertEqual(node2.name(), 'layer2') proxy_layer2_index = view.node2index(node2) self.assertEqual(proxy_layer2_index, view.node2index(node2)) source_index = tree_model.index(1, 0) tree_layer2_index = view.node2sourceIndex(node2) self.assertEqual(tree_layer2_index, view.node2sourceIndex(node2))
def setupUi(self, ImportLayerTreeDialogBase): ImportLayerTreeDialogBase.setObjectName("ImportLayerTreeDialogBase") ImportLayerTreeDialogBase.resize(373, 548) self.vert_lay_global = QtWidgets.QVBoxLayout(ImportLayerTreeDialogBase) self.vert_lay_global.setObjectName("vert_lay_global") self.groupBox = QtWidgets.QGroupBox(ImportLayerTreeDialogBase) self.groupBox.setMaximumSize(QtCore.QSize(16777215, 60)) self.groupBox.setObjectName("groupBox") self.vert_lay_file = QtWidgets.QVBoxLayout(self.groupBox) self.vert_lay_file.setObjectName("vert_lay_file") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.lineEditPrj = QtWidgets.QLineEdit(self.groupBox) self.lineEditPrj.setMinimumSize(QtCore.QSize(0, 20)) self.lineEditPrj.setObjectName("lineEditPrj") self.horizontalLayout.addWidget(self.lineEditPrj) self.pushButtonPrj = QtWidgets.QPushButton(self.groupBox) self.pushButtonPrj.setMinimumSize(QtCore.QSize(0, 23)) self.pushButtonPrj.setMaximumSize(QtCore.QSize(31, 23)) self.pushButtonPrj.setObjectName("pushButtonPrj") self.horizontalLayout.addWidget(self.pushButtonPrj) self.vert_lay_file.addLayout(self.horizontalLayout) self.vert_lay_global.addWidget(self.groupBox) ################################################################################################################ # Aquí inserto QgsLayerTreeView. Con QgsProjectionSelectionTreeWidget() por ejemplo funciona bien self.tree_widget = QgsLayerTreeView(ImportLayerTreeDialogBase) self.vert_lay_global.addWidget(self.tree_widget) ################################################################################################################ self.button_box = QtWidgets.QDialogButtonBox(ImportLayerTreeDialogBase) self.button_box.setOrientation(QtCore.Qt.Horizontal) self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok) self.button_box.setObjectName("button_box") self.vert_lay_global.addWidget(self.button_box) self.retranslateUi(ImportLayerTreeDialogBase) # self.button_box.accepted.connect(ImportLayerTreeDialogBase.accept) self.button_box.rejected.connect(ImportLayerTreeDialogBase.reject) QtCore.QMetaObject.connectSlotsByName(ImportLayerTreeDialogBase)
def setupUi(self, LayerSelectDialog): LayerSelectDialog.setObjectName(_fromUtf8("LayerSelectDialog")) LayerSelectDialog.resize(439, 425) self.verticalLayout = QtGui.QVBoxLayout(LayerSelectDialog) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.tabWidget = QtGui.QTabWidget(LayerSelectDialog) self.tabWidget.setObjectName(_fromUtf8("tabWidget")) self.tab_Tree = QtGui.QWidget() self.tab_Tree.setObjectName(_fromUtf8("tab_Tree")) self.gridLayout_2 = QtGui.QGridLayout(self.tab_Tree) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.treeView = QgsLayerTreeView(self.tab_Tree) self.treeView.setObjectName(_fromUtf8("treeView")) self.gridLayout_2.addWidget(self.treeView, 0, 0, 1, 1) self.tabWidget.addTab(self.tab_Tree, _fromUtf8("")) self.tab_Preview = QtGui.QWidget() self.tab_Preview.setObjectName(_fromUtf8("tab_Preview")) self.gridLayout = QtGui.QGridLayout(self.tab_Preview) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.canvas = QgsMapCanvas(self.tab_Preview) self.canvas.setObjectName(_fromUtf8("canvas")) self.gridLayout.addWidget(self.canvas, 0, 0, 1, 1) self.tabWidget.addTab(self.tab_Preview, _fromUtf8("")) self.verticalLayout.addWidget(self.tabWidget) self.buttonBox = QtGui.QDialogButtonBox(LayerSelectDialog) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(_fromUtf8("buttonBox")) self.verticalLayout.addWidget(self.buttonBox) self.retranslateUi(LayerSelectDialog) self.tabWidget.setCurrentIndex(0) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), LayerSelectDialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), LayerSelectDialog.reject) QtCore.QMetaObject.connectSlotsByName(LayerSelectDialog)
def testMoveToBottomActionLayerAndGroup(self): """Test move to top action for a group and it's layer simultaneously""" view = QgsLayerTreeView() group = self.project.layerTreeRoot().insertGroup(0, "embeddedgroup") group.addLayer(self.layer4) group.addLayer(self.layer5) groupname = group.name() view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) actions = QgsLayerTreeViewDefaultActions(view) self.assertEqual( self.nodeOrder(self.project.layerTreeRoot().children()), [ groupname, groupname + '-' + self.layer4.name(), groupname + '-' + self.layer5.name(), self.layer.name(), self.layer2.name(), self.layer3.name(), ]) selectionMode = view.selectionMode() view.setSelectionMode(QgsLayerTreeView.MultiSelection) nodeLayerIndex = view.node2index(group) view.setCurrentIndex(nodeLayerIndex) view.setCurrentLayer(self.layer4) view.setSelectionMode(selectionMode) movetobottom = actions.actionMoveToBottom() movetobottom.trigger() self.assertEqual( self.nodeOrder(self.project.layerTreeRoot().children()), [ self.layer.name(), self.layer2.name(), self.layer3.name(), groupname, groupname + '-' + self.layer5.name(), groupname + '-' + self.layer4.name(), ])
# coding: utf-8 from qgis.core import QgsProject, QgsLayerTreeModel from qgis.gui import QgsLayerTreeView root = QgsProject.instance().layerTreeRoot() model = QgsLayerTreeModel(root) view = QgsLayerTreeView() view.setModel(model) view.show()
def __init__(self, parent): self.setObjectName(_fromUtf8("self")) self.resize(393, 995) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizePolicy) self.verticalLayout = QtGui.QVBoxLayout(self) self.verticalLayout.setSpacing(0) self.verticalLayout.setMargin(0) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.label_11 = QtGui.QLabel(self) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) self.label_11.setStyleSheet( _fromUtf8( "padding: 2px; font-weight: bold; background-color: rgb(200, 200, 200);" )) self.label_11.setObjectName(_fromUtf8("label_11")) self.verticalLayout.addWidget(self.label_11) self.scrollArea = QtGui.QScrollArea(self) self.scrollArea.setFrameShape(QtGui.QFrame.StyledPanel) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName(_fromUtf8("scrollArea")) self.scrollAreaWidgetContents = QtGui.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect( 0, 0, 375, 1478)) self.scrollAreaWidgetContents.setObjectName( _fromUtf8("scrollAreaWidgetContents")) self.mainLayout = QtGui.QVBoxLayout(self.scrollAreaWidgetContents) self.mainLayout.setObjectName(_fromUtf8("mainLayout")) self.mMainPropertiesColGroupBox = QgsCollapsibleGroupBoxBasic( self.scrollAreaWidgetContents) self.mMainPropertiesColGroupBox.setFocusPolicy(QtCore.Qt.StrongFocus) self.mMainPropertiesColGroupBox.setProperty("syncGroup", _fromUtf8("composeritem")) self.mMainPropertiesColGroupBox.setProperty("collapsed", False) self.mMainPropertiesColGroupBox.setObjectName( _fromUtf8("mMainPropertiesColGroupBox")) self.formLayout = QtGui.QFormLayout(self.mMainPropertiesColGroupBox) self.formLayout.setFieldGrowthPolicy( QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout.setLabelAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.formLayout.setObjectName(_fromUtf8("formLayout")) self.mTitleLabel = QtGui.QLabel(self.mMainPropertiesColGroupBox) self.mTitleLabel.setObjectName(_fromUtf8("mTitleLabel")) self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.mTitleLabel) self.mTitleLineEdit = QtGui.QLineEdit(self.mMainPropertiesColGroupBox) self.mTitleLineEdit.setObjectName(_fromUtf8("mTitleLineEdit")) self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.mTitleLineEdit) self.mMapLabel = QtGui.QLabel(self.mMainPropertiesColGroupBox) self.mMapLabel.setObjectName(_fromUtf8("mMapLabel")) self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.mMapLabel) self.mMapComboBox = QtGui.QComboBox(self.mMainPropertiesColGroupBox) self.mMapComboBox.setObjectName(_fromUtf8("mMapComboBox")) self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.mMapComboBox) self.label = QtGui.QLabel(self.mMainPropertiesColGroupBox) self.label.setObjectName(_fromUtf8("label")) self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.label) self.mWrapCharLineEdit = QtGui.QLineEdit( self.mMainPropertiesColGroupBox) self.mWrapCharLineEdit.setFrame(True) self.mWrapCharLineEdit.setObjectName(_fromUtf8("mWrapCharLineEdit")) self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.mWrapCharLineEdit) self.label_15 = QtGui.QLabel(self.mMainPropertiesColGroupBox) self.label_15.setObjectName(_fromUtf8("label_15")) self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_15) self.mTitleAlignCombo = QtGui.QComboBox( self.mMainPropertiesColGroupBox) self.mTitleAlignCombo.setObjectName(_fromUtf8("mTitleAlignCombo")) self.mTitleAlignCombo.addItem(_fromUtf8("")) self.mTitleAlignCombo.addItem(_fromUtf8("")) self.mTitleAlignCombo.addItem(_fromUtf8("")) self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.mTitleAlignCombo) self.mainLayout.addWidget(self.mMainPropertiesColGroupBox) self.mLegendItemColGroupBox = QgsCollapsibleGroupBoxBasic( self.scrollAreaWidgetContents) self.mLegendItemColGroupBox.setFocusPolicy(QtCore.Qt.StrongFocus) self.mLegendItemColGroupBox.setProperty("syncGroup", _fromUtf8("composeritem")) self.mLegendItemColGroupBox.setProperty("collapsed", False) self.mLegendItemColGroupBox.setObjectName( _fromUtf8("mLegendItemColGroupBox")) self.verticalLayout_2 = QtGui.QVBoxLayout(self.mLegendItemColGroupBox) self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.mCheckBoxAutoUpdate = QtGui.QCheckBox(self.mLegendItemColGroupBox) self.mCheckBoxAutoUpdate.setChecked(True) self.mCheckBoxAutoUpdate.setObjectName( _fromUtf8("mCheckBoxAutoUpdate")) self.horizontalLayout.addWidget(self.mCheckBoxAutoUpdate) spacerItem = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.mUpdateAllPushButton = QtGui.QToolButton( self.mLegendItemColGroupBox) self.mUpdateAllPushButton.setObjectName( _fromUtf8("mUpdateAllPushButton")) self.horizontalLayout.addWidget(self.mUpdateAllPushButton) self.verticalLayout_2.addLayout(self.horizontalLayout) self.mItemTreeView = QgsLayerTreeView(self.mLegendItemColGroupBox) self.mItemTreeView.setMinimumSize(QtCore.QSize(0, 250)) self.mItemTreeView.setSelectionMode( QtGui.QAbstractItemView.ContiguousSelection) self.mItemTreeView.setHeaderHidden(True) self.mItemTreeView.setObjectName(_fromUtf8("mItemTreeView")) self.mItemTreeView.header().setVisible(False) self.verticalLayout_2.addWidget(self.mItemTreeView) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setSpacing(3) self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) self.mMoveDownToolButton = QtGui.QToolButton( self.mLegendItemColGroupBox) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.mMoveDownToolButton.sizePolicy().hasHeightForWidth()) self.mMoveDownToolButton.setSizePolicy(sizePolicy) self.mMoveDownToolButton.setText(_fromUtf8("")) icon = QtGui.QIcon() icon.addPixmap( QtGui.QPixmap( _fromUtf8( "Resource/images/themes/default/mActionArrowDown.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mMoveDownToolButton.setIcon(icon) self.mMoveDownToolButton.setIconSize(QtCore.QSize(20, 20)) self.mMoveDownToolButton.setObjectName( _fromUtf8("mMoveDownToolButton")) self.horizontalLayout_2.addWidget(self.mMoveDownToolButton) self.mMoveUpToolButton = QtGui.QToolButton(self.mLegendItemColGroupBox) self.mMoveUpToolButton.setText(_fromUtf8("")) icon1 = QtGui.QIcon() icon1.addPixmap( QtGui.QPixmap( _fromUtf8( "Resource/images/themes/default/mActionArrowUp.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mMoveUpToolButton.setIcon(icon1) self.mMoveUpToolButton.setIconSize(QtCore.QSize(20, 20)) self.mMoveUpToolButton.setObjectName(_fromUtf8("mMoveUpToolButton")) self.horizontalLayout_2.addWidget(self.mMoveUpToolButton) self.mAddGroupToolButton = QtGui.QToolButton( self.mLegendItemColGroupBox) icon2 = QtGui.QIcon() icon2.addPixmap( QtGui.QPixmap( _fromUtf8( "Resource/images/themes/default/mActionAddGroup.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mAddGroupToolButton.setIcon(icon2) self.mAddGroupToolButton.setIconSize(QtCore.QSize(20, 20)) self.mAddGroupToolButton.setObjectName( _fromUtf8("mAddGroupToolButton")) self.horizontalLayout_2.addWidget(self.mAddGroupToolButton) self.mAddToolButton = QtGui.QToolButton(self.mLegendItemColGroupBox) self.mAddToolButton.setText(_fromUtf8("")) icon3 = QtGui.QIcon() icon3.addPixmap( QtGui.QPixmap( _fromUtf8("Resource/images/themes/default/symbologyAdd.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mAddToolButton.setIcon(icon3) self.mAddToolButton.setIconSize(QtCore.QSize(20, 20)) self.mAddToolButton.setObjectName(_fromUtf8("mAddToolButton")) self.horizontalLayout_2.addWidget(self.mAddToolButton) self.mRemoveToolButton = QtGui.QToolButton(self.mLegendItemColGroupBox) self.mRemoveToolButton.setText(_fromUtf8("")) icon4 = QtGui.QIcon() icon4.addPixmap( QtGui.QPixmap( _fromUtf8( "Resource/images/themes/default/symbologyRemove.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mRemoveToolButton.setIcon(icon4) self.mRemoveToolButton.setIconSize(QtCore.QSize(20, 20)) self.mRemoveToolButton.setObjectName(_fromUtf8("mRemoveToolButton")) self.horizontalLayout_2.addWidget(self.mRemoveToolButton) self.mEditPushButton = QtGui.QToolButton(self.mLegendItemColGroupBox) self.mEditPushButton.setText(_fromUtf8("")) icon5 = QtGui.QIcon() icon5.addPixmap( QtGui.QPixmap( _fromUtf8("Resource/images/themes/default/symbologyEdit.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mEditPushButton.setIcon(icon5) self.mEditPushButton.setIconSize(QtCore.QSize(20, 20)) self.mEditPushButton.setObjectName(_fromUtf8("mEditPushButton")) self.horizontalLayout_2.addWidget(self.mEditPushButton) self.mCountToolButton = QtGui.QToolButton(self.mLegendItemColGroupBox) self.mCountToolButton.setEnabled(False) self.mCountToolButton.setText(_fromUtf8("")) icon6 = QtGui.QIcon() icon6.addPixmap( QtGui.QPixmap( _fromUtf8("Resource/images/themes/default/mActionSum.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mCountToolButton.setIcon(icon6) self.mCountToolButton.setIconSize(QtCore.QSize(20, 20)) self.mCountToolButton.setCheckable(True) self.mCountToolButton.setObjectName(_fromUtf8("mCountToolButton")) self.horizontalLayout_2.addWidget(self.mCountToolButton) self.mFilterByMapToolButton = QtGui.QToolButton( self.mLegendItemColGroupBox) icon7 = QtGui.QIcon() icon7.addPixmap( QtGui.QPixmap( _fromUtf8( "Resource/images/themes/default/mActionFilter2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mFilterByMapToolButton.setIcon(icon7) self.mFilterByMapToolButton.setIconSize(QtCore.QSize(20, 20)) self.mFilterByMapToolButton.setCheckable(True) self.mFilterByMapToolButton.setObjectName( _fromUtf8("mFilterByMapToolButton")) self.horizontalLayout_2.addWidget(self.mFilterByMapToolButton) self.mExpressionFilterButton = QgsLegendFilterButton( self.mLegendItemColGroupBox) self.mExpressionFilterButton.setText(_fromUtf8("")) icon8 = QtGui.QIcon() icon8.addPixmap( QtGui.QPixmap( _fromUtf8( "Resource/images/themes/default/mIconExpressionFilter.svg") ), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.mExpressionFilterButton.setIcon(icon8) self.mExpressionFilterButton.setIconSize(QtCore.QSize(20, 20)) self.mExpressionFilterButton.setObjectName( _fromUtf8("mExpressionFilterButton")) self.horizontalLayout_2.addWidget(self.mExpressionFilterButton) spacerItem1 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem1) self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.mFilterLegendByAtlasCheckBox = QtGui.QCheckBox( self.mLegendItemColGroupBox) self.mFilterLegendByAtlasCheckBox.setObjectName( _fromUtf8("mFilterLegendByAtlasCheckBox")) self.verticalLayout_2.addWidget(self.mFilterLegendByAtlasCheckBox) self.mainLayout.addWidget(self.mLegendItemColGroupBox) self.mFontsColGroupBox = QgsCollapsibleGroupBoxBasic( self.scrollAreaWidgetContents) self.mFontsColGroupBox.setFocusPolicy(QtCore.Qt.StrongFocus) self.mFontsColGroupBox.setProperty("syncGroup", _fromUtf8("composeritem")) self.mFontsColGroupBox.setProperty("collapsed", True) self.mFontsColGroupBox.setObjectName(_fromUtf8("mFontsColGroupBox")) self.verticalLayout_3 = QtGui.QVBoxLayout(self.mFontsColGroupBox) self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3")) self.mTitleFontButton = QtGui.QPushButton(self.mFontsColGroupBox) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.mTitleFontButton.sizePolicy().hasHeightForWidth()) self.mTitleFontButton.setSizePolicy(sizePolicy) self.mTitleFontButton.setObjectName(_fromUtf8("mTitleFontButton")) self.verticalLayout_3.addWidget(self.mTitleFontButton) self.mLayerFontButton = QtGui.QPushButton(self.mFontsColGroupBox) self.mLayerFontButton.setObjectName(_fromUtf8("mLayerFontButton")) self.verticalLayout_3.addWidget(self.mLayerFontButton) self.mGroupFontButton = QtGui.QPushButton(self.mFontsColGroupBox) self.mGroupFontButton.setObjectName(_fromUtf8("mGroupFontButton")) self.verticalLayout_3.addWidget(self.mGroupFontButton) self.mItemFontButton = QtGui.QPushButton(self.mFontsColGroupBox) self.mItemFontButton.setObjectName(_fromUtf8("mItemFontButton")) self.verticalLayout_3.addWidget(self.mItemFontButton) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3")) self.label_16 = QtGui.QLabel(self.mFontsColGroupBox) self.label_16.setObjectName(_fromUtf8("label_16")) self.horizontalLayout_3.addWidget(self.label_16) self.mFontColorButton = QgsColorButtonV2(self.mFontsColGroupBox) self.mFontColorButton.setMinimumSize(QtCore.QSize(120, 0)) self.mFontColorButton.setMaximumSize(QtCore.QSize(120, 16777215)) self.mFontColorButton.setText(_fromUtf8("")) self.mFontColorButton.setObjectName(_fromUtf8("mFontColorButton")) self.horizontalLayout_3.addWidget(self.mFontColorButton) spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.verticalLayout_3.addLayout(self.horizontalLayout_3) self.mainLayout.addWidget(self.mFontsColGroupBox) self.mColumnsColGroupBox = QgsCollapsibleGroupBoxBasic( self.scrollAreaWidgetContents) self.mColumnsColGroupBox.setFocusPolicy(QtCore.Qt.StrongFocus) self.mColumnsColGroupBox.setProperty("syncGroup", _fromUtf8("composeritem")) self.mColumnsColGroupBox.setProperty("collapsed", True) self.mColumnsColGroupBox.setObjectName( _fromUtf8("mColumnsColGroupBox")) self.formLayout_2 = QtGui.QFormLayout(self.mColumnsColGroupBox) self.formLayout_2.setFieldGrowthPolicy( QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout_2.setLabelAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.formLayout_2.setObjectName(_fromUtf8("formLayout_2")) self.label_2 = QtGui.QLabel(self.mColumnsColGroupBox) self.label_2.setObjectName(_fromUtf8("label_2")) self.formLayout_2.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_2) self.mColumnCountSpinBox = QgsSpinBox(self.mColumnsColGroupBox) self.mColumnCountSpinBox.setPrefix(_fromUtf8("")) self.mColumnCountSpinBox.setMinimum(1) self.mColumnCountSpinBox.setMaximum(1000) self.mColumnCountSpinBox.setObjectName( _fromUtf8("mColumnCountSpinBox")) self.formLayout_2.setWidget(1, QtGui.QFormLayout.FieldRole, self.mColumnCountSpinBox) self.mEqualColumnWidthCheckBox = QtGui.QCheckBox( self.mColumnsColGroupBox) self.mEqualColumnWidthCheckBox.setObjectName( _fromUtf8("mEqualColumnWidthCheckBox")) self.formLayout_2.setWidget(3, QtGui.QFormLayout.SpanningRole, self.mEqualColumnWidthCheckBox) self.mSplitLayerCheckBox = QtGui.QCheckBox(self.mColumnsColGroupBox) self.mSplitLayerCheckBox.setObjectName( _fromUtf8("mSplitLayerCheckBox")) self.formLayout_2.setWidget(4, QtGui.QFormLayout.SpanningRole, self.mSplitLayerCheckBox) self.mainLayout.addWidget(self.mColumnsColGroupBox) self.mSymbolsColGroupBox = QgsCollapsibleGroupBoxBasic( self.scrollAreaWidgetContents) self.mSymbolsColGroupBox.setFocusPolicy(QtCore.Qt.StrongFocus) self.mSymbolsColGroupBox.setProperty("syncGroup", _fromUtf8("composeritem")) self.mSymbolsColGroupBox.setProperty("collapsed", True) self.mSymbolsColGroupBox.setObjectName( _fromUtf8("mSymbolsColGroupBox")) self.formLayout_3 = QtGui.QFormLayout(self.mSymbolsColGroupBox) self.formLayout_3.setFieldGrowthPolicy( QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout_3.setLabelAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.formLayout_3.setObjectName(_fromUtf8("formLayout_3")) self.label_3 = QtGui.QLabel(self.mSymbolsColGroupBox) self.label_3.setObjectName(_fromUtf8("label_3")) self.formLayout_3.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_3) self.mSymbolWidthSpinBox = QgsDoubleSpinBox(self.mSymbolsColGroupBox) self.mSymbolWidthSpinBox.setPrefix(_fromUtf8("")) self.mSymbolWidthSpinBox.setProperty("showClearButton", False) self.mSymbolWidthSpinBox.setObjectName( _fromUtf8("mSymbolWidthSpinBox")) self.formLayout_3.setWidget(0, QtGui.QFormLayout.FieldRole, self.mSymbolWidthSpinBox) self.label_4 = QtGui.QLabel(self.mSymbolsColGroupBox) self.label_4.setObjectName(_fromUtf8("label_4")) self.formLayout_3.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_4) self.mSymbolHeightSpinBox = QgsDoubleSpinBox(self.mSymbolsColGroupBox) self.mSymbolHeightSpinBox.setPrefix(_fromUtf8("")) self.mSymbolHeightSpinBox.setProperty("showClearButton", False) self.mSymbolHeightSpinBox.setObjectName( _fromUtf8("mSymbolHeightSpinBox")) self.formLayout_3.setWidget(1, QtGui.QFormLayout.FieldRole, self.mSymbolHeightSpinBox) self.mRasterBorderGroupBox = QgsCollapsibleGroupBoxBasic( self.mSymbolsColGroupBox) self.mRasterBorderGroupBox.setCheckable(True) self.mRasterBorderGroupBox.setProperty("syncGroup", _fromUtf8("composeritem")) self.mRasterBorderGroupBox.setProperty("collapsed", True) self.mRasterBorderGroupBox.setObjectName( _fromUtf8("mRasterBorderGroupBox")) self.gridLayout = QtGui.QGridLayout(self.mRasterBorderGroupBox) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.label_17 = QtGui.QLabel(self.mRasterBorderGroupBox) self.label_17.setObjectName(_fromUtf8("label_17")) self.gridLayout.addWidget(self.label_17, 0, 0, 1, 1) self.horizontalLayout_6 = QtGui.QHBoxLayout() self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6")) self.mRasterBorderColorButton = QgsColorButtonV2( self.mRasterBorderGroupBox) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.mRasterBorderColorButton.sizePolicy().hasHeightForWidth()) self.mRasterBorderColorButton.setSizePolicy(sizePolicy) self.mRasterBorderColorButton.setMinimumSize(QtCore.QSize(120, 0)) self.mRasterBorderColorButton.setMaximumSize( QtCore.QSize(120, 16777215)) self.mRasterBorderColorButton.setText(_fromUtf8("")) self.mRasterBorderColorButton.setObjectName( _fromUtf8("mRasterBorderColorButton")) self.horizontalLayout_6.addWidget(self.mRasterBorderColorButton) spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_6.addItem(spacerItem3) self.gridLayout.addLayout(self.horizontalLayout_6, 0, 1, 1, 1) self.mOutlineWidthLabel = QtGui.QLabel(self.mRasterBorderGroupBox) self.mOutlineWidthLabel.setObjectName(_fromUtf8("mOutlineWidthLabel")) self.gridLayout.addWidget(self.mOutlineWidthLabel, 1, 0, 1, 1) self.mRasterBorderWidthSpinBox = QgsDoubleSpinBox( self.mRasterBorderGroupBox) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.mRasterBorderWidthSpinBox.sizePolicy().hasHeightForWidth()) self.mRasterBorderWidthSpinBox.setSizePolicy(sizePolicy) self.mRasterBorderWidthSpinBox.setSingleStep(0.1) self.mRasterBorderWidthSpinBox.setProperty("showClearButton", False) self.mRasterBorderWidthSpinBox.setObjectName( _fromUtf8("mRasterBorderWidthSpinBox")) self.gridLayout.addWidget(self.mRasterBorderWidthSpinBox, 1, 1, 1, 1) self.formLayout_3.setWidget(2, QtGui.QFormLayout.SpanningRole, self.mRasterBorderGroupBox) self.mainLayout.addWidget(self.mSymbolsColGroupBox) self.mSymbolsColGroupBox_2 = QgsCollapsibleGroupBoxBasic( self.scrollAreaWidgetContents) self.mSymbolsColGroupBox_2.setFocusPolicy(QtCore.Qt.StrongFocus) self.mSymbolsColGroupBox_2.setProperty("syncGroup", _fromUtf8("composeritem")) self.mSymbolsColGroupBox_2.setProperty("collapsed", True) self.mSymbolsColGroupBox_2.setObjectName( _fromUtf8("mSymbolsColGroupBox_2")) self.formLayout_5 = QtGui.QFormLayout(self.mSymbolsColGroupBox_2) self.formLayout_5.setFieldGrowthPolicy( QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout_5.setLabelAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.formLayout_5.setObjectName(_fromUtf8("formLayout_5")) self.label_13 = QtGui.QLabel(self.mSymbolsColGroupBox_2) self.label_13.setObjectName(_fromUtf8("label_13")) self.formLayout_5.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_13) self.mWmsLegendWidthSpinBox = QgsDoubleSpinBox( self.mSymbolsColGroupBox_2) self.mWmsLegendWidthSpinBox.setPrefix(_fromUtf8("")) self.mWmsLegendWidthSpinBox.setMaximum(9999.0) self.mWmsLegendWidthSpinBox.setProperty("showClearButton", False) self.mWmsLegendWidthSpinBox.setObjectName( _fromUtf8("mWmsLegendWidthSpinBox")) self.formLayout_5.setWidget(0, QtGui.QFormLayout.FieldRole, self.mWmsLegendWidthSpinBox) self.label_14 = QtGui.QLabel(self.mSymbolsColGroupBox_2) self.label_14.setObjectName(_fromUtf8("label_14")) self.formLayout_5.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_14) self.mWmsLegendHeightSpinBox = QgsDoubleSpinBox( self.mSymbolsColGroupBox_2) self.mWmsLegendHeightSpinBox.setPrefix(_fromUtf8("")) self.mWmsLegendHeightSpinBox.setMaximum(9999.0) self.mWmsLegendHeightSpinBox.setProperty("showClearButton", False) self.mWmsLegendHeightSpinBox.setObjectName( _fromUtf8("mWmsLegendHeightSpinBox")) self.formLayout_5.setWidget(1, QtGui.QFormLayout.FieldRole, self.mWmsLegendHeightSpinBox) self.mainLayout.addWidget(self.mSymbolsColGroupBox_2) self.mSpacingColGroupBox = QgsCollapsibleGroupBoxBasic( self.scrollAreaWidgetContents) self.mSpacingColGroupBox.setFocusPolicy(QtCore.Qt.StrongFocus) self.mSpacingColGroupBox.setProperty("syncGroup", _fromUtf8("composeritem")) self.mSpacingColGroupBox.setProperty("collapsed", True) self.mSpacingColGroupBox.setObjectName( _fromUtf8("mSpacingColGroupBox")) self.formLayout_4 = QtGui.QFormLayout(self.mSpacingColGroupBox) self.formLayout_4.setFieldGrowthPolicy( QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout_4.setLabelAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.formLayout_4.setObjectName(_fromUtf8("formLayout_4")) self.label_5 = QtGui.QLabel(self.mSpacingColGroupBox) self.label_5.setObjectName(_fromUtf8("label_5")) self.formLayout_4.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_5) self.mGroupSpaceSpinBox = QgsDoubleSpinBox(self.mSpacingColGroupBox) self.mGroupSpaceSpinBox.setPrefix(_fromUtf8("")) self.mGroupSpaceSpinBox.setObjectName(_fromUtf8("mGroupSpaceSpinBox")) self.formLayout_4.setWidget(1, QtGui.QFormLayout.FieldRole, self.mGroupSpaceSpinBox) self.label_6 = QtGui.QLabel(self.mSpacingColGroupBox) self.label_6.setObjectName(_fromUtf8("label_6")) self.formLayout_4.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_6) self.mLayerSpaceSpinBox = QgsDoubleSpinBox(self.mSpacingColGroupBox) self.mLayerSpaceSpinBox.setPrefix(_fromUtf8("")) self.mLayerSpaceSpinBox.setObjectName(_fromUtf8("mLayerSpaceSpinBox")) self.formLayout_4.setWidget(2, QtGui.QFormLayout.FieldRole, self.mLayerSpaceSpinBox) self.label_7 = QtGui.QLabel(self.mSpacingColGroupBox) self.label_7.setObjectName(_fromUtf8("label_7")) self.formLayout_4.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_7) self.mSymbolSpaceSpinBox = QgsDoubleSpinBox(self.mSpacingColGroupBox) self.mSymbolSpaceSpinBox.setPrefix(_fromUtf8("")) self.mSymbolSpaceSpinBox.setObjectName( _fromUtf8("mSymbolSpaceSpinBox")) self.formLayout_4.setWidget(3, QtGui.QFormLayout.FieldRole, self.mSymbolSpaceSpinBox) self.label_8 = QtGui.QLabel(self.mSpacingColGroupBox) self.label_8.setObjectName(_fromUtf8("label_8")) self.formLayout_4.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_8) self.mIconLabelSpaceSpinBox = QgsDoubleSpinBox( self.mSpacingColGroupBox) self.mIconLabelSpaceSpinBox.setPrefix(_fromUtf8("")) self.mIconLabelSpaceSpinBox.setObjectName( _fromUtf8("mIconLabelSpaceSpinBox")) self.formLayout_4.setWidget(4, QtGui.QFormLayout.FieldRole, self.mIconLabelSpaceSpinBox) self.label_9 = QtGui.QLabel(self.mSpacingColGroupBox) self.label_9.setObjectName(_fromUtf8("label_9")) self.formLayout_4.setWidget(5, QtGui.QFormLayout.LabelRole, self.label_9) self.mBoxSpaceSpinBox = QgsDoubleSpinBox(self.mSpacingColGroupBox) self.mBoxSpaceSpinBox.setPrefix(_fromUtf8("")) self.mBoxSpaceSpinBox.setObjectName(_fromUtf8("mBoxSpaceSpinBox")) self.formLayout_4.setWidget(5, QtGui.QFormLayout.FieldRole, self.mBoxSpaceSpinBox) self.label_12 = QtGui.QLabel(self.mSpacingColGroupBox) self.label_12.setObjectName(_fromUtf8("label_12")) self.formLayout_4.setWidget(6, QtGui.QFormLayout.LabelRole, self.label_12) self.mColumnSpaceSpinBox = QgsDoubleSpinBox(self.mSpacingColGroupBox) self.mColumnSpaceSpinBox.setPrefix(_fromUtf8("")) self.mColumnSpaceSpinBox.setObjectName( _fromUtf8("mColumnSpaceSpinBox")) self.formLayout_4.setWidget(6, QtGui.QFormLayout.FieldRole, self.mColumnSpaceSpinBox) self.label_10 = QtGui.QLabel(self.mSpacingColGroupBox) self.label_10.setObjectName(_fromUtf8("label_10")) self.formLayout_4.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_10) self.mTitleSpaceBottomSpinBox = QgsDoubleSpinBox( self.mSpacingColGroupBox) self.mTitleSpaceBottomSpinBox.setObjectName( _fromUtf8("mTitleSpaceBottomSpinBox")) self.formLayout_4.setWidget(0, QtGui.QFormLayout.FieldRole, self.mTitleSpaceBottomSpinBox) self.mainLayout.addWidget(self.mSpacingColGroupBox) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout.addWidget(self.scrollArea) self.mTitleLabel.setBuddy(self.mTitleLineEdit) self.mOutlineWidthLabel.setBuddy(self.mRasterBorderWidthSpinBox) self.retranslateUi() QtCore.QMetaObject.connectSlotsByName(self) self.setTabOrder(self.scrollArea, self.mMainPropertiesColGroupBox) self.setTabOrder(self.mMainPropertiesColGroupBox, self.mTitleLineEdit) self.setTabOrder(self.mTitleLineEdit, self.mTitleAlignCombo) self.setTabOrder(self.mTitleAlignCombo, self.mMapComboBox) self.setTabOrder(self.mMapComboBox, self.mWrapCharLineEdit) self.setTabOrder(self.mWrapCharLineEdit, self.mLegendItemColGroupBox) self.setTabOrder(self.mLegendItemColGroupBox, self.mCheckBoxAutoUpdate) self.setTabOrder(self.mCheckBoxAutoUpdate, self.mUpdateAllPushButton) self.setTabOrder(self.mUpdateAllPushButton, self.mItemTreeView) self.setTabOrder(self.mItemTreeView, self.mMoveDownToolButton) self.setTabOrder(self.mMoveDownToolButton, self.mMoveUpToolButton) self.setTabOrder(self.mMoveUpToolButton, self.mAddGroupToolButton) self.setTabOrder(self.mAddGroupToolButton, self.mAddToolButton) self.setTabOrder(self.mAddToolButton, self.mRemoveToolButton) self.setTabOrder(self.mRemoveToolButton, self.mEditPushButton) self.setTabOrder(self.mEditPushButton, self.mCountToolButton) self.setTabOrder(self.mCountToolButton, self.mFilterByMapToolButton) self.setTabOrder(self.mFilterByMapToolButton, self.mExpressionFilterButton) self.setTabOrder(self.mExpressionFilterButton, self.mFilterLegendByAtlasCheckBox) self.setTabOrder(self.mFilterLegendByAtlasCheckBox, self.mFontsColGroupBox) self.setTabOrder(self.mFontsColGroupBox, self.mTitleFontButton) self.setTabOrder(self.mTitleFontButton, self.mLayerFontButton) self.setTabOrder(self.mLayerFontButton, self.mGroupFontButton) self.setTabOrder(self.mGroupFontButton, self.mItemFontButton) self.setTabOrder(self.mItemFontButton, self.mFontColorButton) self.setTabOrder(self.mFontColorButton, self.mColumnsColGroupBox) self.setTabOrder(self.mColumnsColGroupBox, self.mColumnCountSpinBox) self.setTabOrder(self.mColumnCountSpinBox, self.mEqualColumnWidthCheckBox) self.setTabOrder(self.mEqualColumnWidthCheckBox, self.mSplitLayerCheckBox) self.setTabOrder(self.mSplitLayerCheckBox, self.mSymbolsColGroupBox) self.setTabOrder(self.mSymbolsColGroupBox, self.mSymbolWidthSpinBox) self.setTabOrder(self.mSymbolWidthSpinBox, self.mSymbolHeightSpinBox) self.setTabOrder(self.mSymbolHeightSpinBox, self.mRasterBorderGroupBox) self.setTabOrder(self.mRasterBorderGroupBox, self.mRasterBorderColorButton) self.setTabOrder(self.mRasterBorderColorButton, self.mRasterBorderWidthSpinBox) self.setTabOrder(self.mRasterBorderWidthSpinBox, self.mSymbolsColGroupBox_2) self.setTabOrder(self.mSymbolsColGroupBox_2, self.mWmsLegendWidthSpinBox) self.setTabOrder(self.mWmsLegendWidthSpinBox, self.mWmsLegendHeightSpinBox) self.setTabOrder(self.mWmsLegendHeightSpinBox, self.mSpacingColGroupBox) self.setTabOrder(self.mSpacingColGroupBox, self.mTitleSpaceBottomSpinBox) self.setTabOrder(self.mTitleSpaceBottomSpinBox, self.mGroupSpaceSpinBox) self.setTabOrder(self.mGroupSpaceSpinBox, self.mLayerSpaceSpinBox) self.setTabOrder(self.mLayerSpaceSpinBox, self.mSymbolSpaceSpinBox) self.setTabOrder(self.mSymbolSpaceSpinBox, self.mIconLabelSpaceSpinBox) self.setTabOrder(self.mIconLabelSpaceSpinBox, self.mBoxSpaceSpinBox) self.setTabOrder(self.mBoxSpaceSpinBox, self.mColumnSpaceSpinBox)
def initGui(self): icon = QIcon() icon.addPixmap( QPixmap( "C:/Roberto/Visual_Studio_Code/GisBike/programa/IMG/Qgis.png"), QIcon.Normal, QIcon.Off) self.setWindowIcon(icon) self.setWindowModality(Qt.WindowModal) self.setWindowFlags(Qt.Window | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint | Qt.WindowCloseButtonHint) self.resize(1200, 600) self.verticalLayout_2 = QVBoxLayout(self) self.splitter = QSplitter(self) self.splitter.setOrientation(Qt.Horizontal) self.actionZoomIn = QPushButton("Zoom in", self.splitter) self.actionZoomOut = QPushButton("Zoom out", self.splitter) self.actionPan = QPushButton("Pan", self.splitter) self.actionFile = QPushButton("File", self.splitter) self.project = QgsProject.instance() self.project.read('C:/Users/Fcc/Desktop/QGis/pruebas2.qgz') self.root = QgsProject.instance().layerTreeRoot() self.bridge = QgsLayerTreeMapCanvasBridge(self.root, self.canvas) self.bridge.setCanvasLayers() self.bridge.setAutoSetupOnFirstLayer(True) #https://gis.stackexchange.com/questions/141516/adding-legend-to-canvas-in-standalone-pyqgis-application self.model = QgsLayerTreeModel(self.root) self.model.setFlag(QgsLayerTreeModel.AllowNodeReorder) self.model.setFlag(QgsLayerTreeModel.AllowNodeRename) self.model.setFlag(QgsLayerTreeModel.AllowNodeChangeVisibility) self.model.setFlag(QgsLayerTreeModel.ShowLegend) self.view = QgsLayerTreeView(self.splitter) self.view.setModel(self.model) self.view.setFixedWidth(150) #self.view.resize(150,600) self.widget = QWidget(self.splitter) self.verticalLayout = QVBoxLayout(self.widget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout = QHBoxLayout() self.horizontalLayout.addWidget(self.actionZoomIn) self.horizontalLayout.addWidget(self.actionZoomOut) self.horizontalLayout.addWidget(self.actionPan) self.horizontalLayout.addWidget(self.actionFile) self.verticalLayout.addLayout(self.horizontalLayout) self.verticalLayout.addWidget(self.canvas) self.verticalLayout_2.addWidget(self.splitter) self.actionZoomIn.clicked.connect(self.zoomIn) self.actionZoomOut.clicked.connect(self.zoomOut) self.actionPan.clicked.connect(self.pan) self.actionFile.clicked.connect(self.file) # create the map tools self.toolPan = QgsMapToolPan(self.canvas) self.toolZoomIn = QgsMapToolZoom(self.canvas, False) # false = in self.toolZoomOut = QgsMapToolZoom(self.canvas, True) # true = out
def testProxyModel(self): """Test proxy model filtering and private layers""" view = QgsLayerTreeView() view.setModel(self.model) if USE_MODEL_TESTER: proxy_tester = QAbstractItemModelTester(view.model()) tree_model = view.layerTreeModel() proxy_model = view.proxyModel() self.assertEqual(tree_model.rowCount(), 3) self.assertEqual(proxy_model.rowCount(), 3) items = [] for r in range(tree_model.rowCount()): items.append(tree_model.data(tree_model.index(r, 0))) self.assertEqual(items, ['layer1', 'layer2', 'layer3']) proxy_items = [] for r in range(proxy_model.rowCount()): proxy_items.append(proxy_model.data(proxy_model.index(r, 0))) self.assertEqual(proxy_items, ['layer1', 'layer2', 'layer3']) self.layer3.setFlags(self.layer.Private) self.assertEqual(tree_model.rowCount(), 3) self.assertEqual(proxy_model.rowCount(), 2) proxy_items = [] for r in range(proxy_model.rowCount()): proxy_items.append(proxy_model.data(proxy_model.index(r, 0))) self.assertEqual(proxy_items, ['layer1', 'layer2']) view.setShowPrivateLayers(True) self.assertEqual(proxy_model.rowCount(), 3) proxy_items = [] for r in range(proxy_model.rowCount()): proxy_items.append(proxy_model.data(proxy_model.index(r, 0))) self.assertEqual(proxy_items, ['layer1', 'layer2', 'layer3']) view.setShowPrivateLayers(False) self.assertEqual(proxy_model.rowCount(), 2) proxy_items = [] for r in range(proxy_model.rowCount()): proxy_items.append(proxy_model.data(proxy_model.index(r, 0))) self.assertEqual(proxy_items, ['layer1', 'layer2']) # Test filters proxy_model.setFilterText('layer2') self.assertEqual(proxy_model.rowCount(), 1) proxy_items = [] for r in range(proxy_model.rowCount()): proxy_items.append(proxy_model.data(proxy_model.index(r, 0))) self.assertEqual(proxy_items, ['layer2'])
def __init__(self): super(MainWindow, self).__init__() self.setupUi(self) self.first_flag = True self.setWindowTitle('PyQGIS') # 调整窗口大小 self.resize(800, 600) # 初始化图层树 vl = QVBoxLayout(self.dockWidgetContents) self.layerTreeView = QgsLayerTreeView(self) vl.addWidget(self.layerTreeView) # 初始化地图画布 self.mapCanvas = QgsMapCanvas(self) hl = QHBoxLayout(self.frame) hl.setContentsMargins(0, 0, 0, 0) hl.addWidget(self.mapCanvas) # 建立桥梁 self.model = QgsLayerTreeModel(PROJECT.layerTreeRoot(), self) self.model.setFlag(QgsLayerTreeModel.AllowNodeRename) self.model.setFlag(QgsLayerTreeModel.AllowNodeReorder) self.model.setFlag(QgsLayerTreeModel.AllowNodeChangeVisibility) self.model.setFlag(QgsLayerTreeModel.ShowLegendAsTree) self.model.setAutoCollapseLegendNodes(10) self.layerTreeView.setModel(self.model) self.layerTreeBridge = QgsLayerTreeMapCanvasBridge( PROJECT.layerTreeRoot(), self.mapCanvas, self) # 显示经纬度 self.mapCanvas.xyCoordinates.connect(self.showLngLat) # 打开工程 self.actionOpen.triggered.connect(self.actionOpenTriggered) # 退出程序 self.actionQuit.triggered.connect(self.close) # 地图工具 # TODO:放大、缩小没有图标 self.actionPanTriggered() self.actionPan.triggered.connect(self.actionPanTriggered) self.actionZoomin.triggered.connect(self.actionZoomInTriggered) self.actionZoomout.triggered.connect(self.actionZoomOutTriggered) self.actionIdentity.triggered.connect(self.actionIdentifyTriggered) # 图层 self.actionShapefile.triggered.connect(self.actionShapefileTriggered) self.actionCsv.triggered.connect(self.actionCsvTriggered) self.actionPostGIS.triggered.connect(self.actionPostGISTriggered) self.actionWFS.triggered.connect(self.actionWFSTriggered) self.actionGeotiff.triggered.connect(self.actionGeotiffTriggered) self.actionXYZ.triggered.connect(self.actionXYZTriggered) # 绘图工具 self.actionPoint.triggered.connect(self.actionPointTriggered) self.actionLine.triggered.connect(self.actionLineTriggered) self.actionRectangle.triggered.connect(self.actionRectangleTriggered) self.actionPolygon.triggered.connect(self.actionPolygonTriggered) # 关于Qt self.actionAboutQt.triggered.connect( lambda: QMessageBox.aboutQt(self, '关于Qt')) self.actionAbout.triggered.connect( lambda: QMessageBox.about(self, '关于', 'PyQGIS二次开发')) # self.actionPan.triggered.connect(self.actionPanTriggered) # self.actionIdentify.triggered.connect(self.actionIdentifyTriggered) # 图层右键菜单 self.customMenuProvider = CustomMenuProvider(self.layerTreeView, self.mapCanvas) self.layerTreeView.setMenuProvider(self.customMenuProvider)