project.read(projecteInicial) # Instanciem la classe QvUbicacions ubicacions = QvUbicacions(canvas) """ Amb aquesta linia: ubicacions.show() es veuria el widget suelto, separat del canvas. Les següents línies mostren com integrar el widget 'ubicacions' com a dockWidget. """ windowTest = QMainWindow() # Posem el canvas com a element central windowTest.setCentralWidget(canvas) # Creem un dockWdget i definim les característiques dwUbicacions = QDockWidget("Ubicacions", windowTest) dwUbicacions.setContextMenuPolicy(Qt.PreventContextMenu) dwUbicacions.setAllowedAreas(Qt.RightDockWidgetArea | Qt.LeftDockWidgetArea) dwUbicacions.setContentsMargins(1, 1, 1, 1) # Afegim el widget ubicacions al dockWidget dwUbicacions.setWidget(ubicacions) # Coloquem el dockWidget al costat esquerra de la finestra windowTest.addDockWidget(Qt.LeftDockWidgetArea, dwUbicacions) # Fem visible el dockWidget
# QByteArray temp = saveState(); # restoreState(temp); # # since restoreState sets the flag. # win = QMainWindow() temp = win.saveState() # Añadido para evitar bug canvas = QgsMapCanvas() project = QgsProject.instance() root = project.layerTreeRoot() bridge = QgsLayerTreeMapCanvasBridge(root, canvas) win.setCentralWidget(canvas) boton = QPushButton('Botón de prueba') dw = QDockWidget("Dock Widget de prueba ", win) dw.setWidget(boton) win.addDockWidget(Qt.LeftDockWidgetArea, dw) win.restoreState(temp) # Añadido para evitar bug win.show() project.read(projecteInicial)
if checkbox_str in texts: checkbox.setChecked(True) def resetSelection(self): if self.mono: return super().setCurrentIndex(-1) for i in range(self.RESERVED_IDXS_COUNT, self.mlist.count()): checkbox = self.mlist.itemWidget(self.mlist.item(i)) checkbox.setChecked(False) if __name__ == "__main__": import sys app = QApplication(sys.argv) win = QMainWindow() wdg = QWidget() wdg.setLayout(QVBoxLayout()) win.setCentralWidget(wdg) mscb = MultiSelectComboBox(wdg) mscb.addItem("ITA") mscb.addItem("FRA") mscb.addItem("GER") mscb.addItems(["Rlz_%2d" % rlz for rlz in range(1, 100)]) mscbmono = MultiSelectComboBox(wdg, mono=True) mscbmono.addItems(mscb.get_unselected_items()) wdg.layout().addWidget(mscb) wdg.layout().addWidget(mscbmono) win.show() app.exec_()