Layout con pestañas QTabWidget¶
El último tipo de disposición que veremos es con pestañas utilizando un QTabWidget
, se trata de una variante del apilado con un control más visual. Esta variante sí hereda de la clase QWidget
y por tanto no requiere un dummy widget:
from PySide6.QtWidgets import (
QApplication, QMainWindow, QLabel, QTabWidget)
import sys
class Caja(QLabel):
def __init__(self, color):
super().__init__()
self.setStyleSheet(f"background-color:{color}")
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# creamos un layout de pestañas
tabs = QTabWidget()
# Añadimos varios widgets como pestañas con nombres
tabs.addTab(Caja("orange"), "Uno")
tabs.addTab(Caja("magenta"), "Dos")
tabs.addTab(Caja("purple"), "Tres")
tabs.addTab(Caja("red"), "Cuatro")
# asignamos las pestañas como widget central
self.setCentralWidget(tabs)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
Algunas opciones interesantes de este widget es que podemos modificar la posición de las pestañas:
tabs.setTabPosition(QTabWidget.West) # West, East, North, South
O hacer que las pestañas se puedan arrastrar para cambiar el orden:
tabs.setMovable(True)
Y con esto acabamos el repaso de los layouts esenciales de Qt.
Última edición: 22 de Marzo de 2021