En este artículo, aprenderá cómo agregar y trabajar con una ventana de pestañas en su aplicación PyQt5 . Cada pestaña tiene un diseño diferente y se muestra la página debajo de una pestaña seleccionada, mientras que las demás se mantienen ocultas. Para seleccionar una pestaña, debe hacer clic en la pestaña deseada de la barra de pestañas que proporciona este QTabWidget .
El siguiente artículo describe el proceso de creación de una aplicación de muestra que tiene tres pestañas y cada pestaña tiene un diseño diferente.
Ejemplo:
import sys from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QWidget, QAction, QTabWidget, QVBoxLayout, QLabel # Creating the main window class App(QMainWindow): def __init__(self): super().__init__() self.title = 'PyQt5 - QTabWidget' self.left = 0 self.top = 0 self.width = 300 self.height = 200 self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) self.tab_widget = MyTabWidget(self) self.setCentralWidget(self.tab_widget) self.show() # Creating tab widgets class MyTabWidget(QWidget): def __init__(self, parent): super(QWidget, self).__init__(parent) self.layout = QVBoxLayout(self) # Initialize tab screen self.tabs = QTabWidget() self.tab1 = QWidget() self.tab2 = QWidget() self.tab3 = QWidget() self.tabs.resize(300, 200) # Add tabs self.tabs.addTab(self.tab1, "Geeks") self.tabs.addTab(self.tab2, "For") self.tabs.addTab(self.tab3, "Geeks") # Create first tab self.tab1.layout = QVBoxLayout(self) self.l = QLabel() self.l.setText("This is the first tab") self.tab1.layout.addWidget(self.l) self.tab1.setLayout(self.tab1.layout) # Add tabs to widget self.layout.addWidget(self.tabs) self.setLayout(self.layout) if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_())
Producción:
Si desea agregar un icono en cualquier pestaña. Solo necesitas reemplazar
self.tabs.addTab(self.tab1, "Geeks")
con
self.tabs.addTab(self.tab1, QIcon("Location of the icon"), ('Geeks'))
e importar la QIcon
biblioteca desde PyQt5.QtWidgets
.
Publicación traducida automáticamente
Artículo escrito por AloysiusSamuel y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA