sábado, 18 de enero de 2020

Clase plantilla con QDialog para crear objetos del tipo QTabWidget en QGIS 3

En este post se va a continuar con la clase plantilla con QDialog pero, en este caso, para crear objetos del tipo QTabWidget los cuales, a su vez, contienen tabs (objetos del tipo QWidgets). Estos últimos también pueden ser contenedores de objetos QLabel, QTableWidget, imágenes, etcetera. En el código a continuación se presenta un ejemplo sencillo de como implementar los QTabWidget con tres tabs pero sin que actuen como contenedores.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PyQt5.QtCore import Qt

class Dlg(QDialog):

    def __init__(self):
        QDialog.__init__(self)
        self.layout = QGridLayout(self)

        self.tabs = QTabWidget()
        self.tab1 = QWidget()
        self.tab2 = QWidget()
        self.tab3 = QWidget()
        self.tabs.addTab(self.tab1,"Tab1")
        self.tabs.addTab(self.tab2,"Tab2")
        self.tabs.addTab(self.tab3,"Tab3")
        self.layout.addWidget(self.tabs, 0, 0)

w = Dlg()
w.resize(300,300)
w.setWindowTitle('Example with QTabWidget')
w.setWindowFlags(Qt.WindowStaysOnTopHint)
w.show()

Después de ejecutado el código anterior en la Python Console de QGIS 3 se obtiene lo siguiente:


No hay comentarios: