In diesem Blogeintrag wollen wir die QTabWidget
studieren. Viele Anwenderprogramme verwenden TabWidgets. Oft werden Einstellungen über TabWidgets organisiert.
QTabWidget
Wir wollen eine Tableiste erstellen, welche die Tabs Tab 1 und Tab 2 zur Verfügung stellt. Mit tabwidget.setTabPosition(QTabWidget.North)
können wir den Ort der Tableiste kontrollieren. Dabei stehen uns die vier Möglichkeiten
QTabWidget.North
QTabWidget.East
QTabWidget.South
QTabWidget.West
zur Verfügung.
import sys
from PySide6.QtGui import(
QAction
)
from PySide6.QtWidgets import (
QMainWindow,
QApplication,
QWidget,
QTabWidget,
QGridLayout,
QLabel,
QToolBar,
)
class TestTab(QMainWindow):
def __init__(self):
super().__init__()
self.setMinimumSize(500, 250)
self.setWindowTitle("Cybernetics")
# TabWidget
= QLabel("Widget in Tab 1.")
label1 = QLabel("Widget in Tab 2.")
label2 = QTabWidget()
tabwidget # controls the place of the tabs
tabwidget.setTabPosition(QTabWidget.North) "Tab 1")
tabwidget.addTab(label1, "Tab 2")
tabwidget.addTab(label2, connect(self.current_tab_changed)
tabwidget.currentChanged.
self.setCentralWidget(tabwidget)
def current_tab_changed(self, tab_index):
print(f"{tab_index=}")
if __name__ == "__main__":
= QApplication(sys.argv)
app = TestTab()
window
window.show()exec()) sys.exit(app.
Unsere Applikation sieht dann wie folgt aus.
Eine vertikale Anordnung der Tabs am rechten Rand ist einfach durch das Ändern von der Zeile
tabwidget.setTabPosition(QTabWidget.West)
möglich.
Auch können die Tabs am unteren Rand
sowie am linken Rand
angezeigt werden.
Fazit
QTabWidget
ist ein guter Weg um ein Programm zu organisieren. Wie oben gezeigt ist der Aufwand für das QTabWidget
minimal.