PyQt5 Pestañas (tabs)
En este artículo aprenderá a usar pestañas con PyQt5. Primero
mostraremos el código completo, luego explicaremos. PyQt5 tiene un
widget para crear pestañas conocido como QTabWidget. El QTabWidget puede
contener pestañas (QWidgets), que tienen widgets en ellas, como
etiquetas, botones, imágenes, etc.
PyQt5 ejemplo de pestañas
Ejemplo completo de pestañas PyQt5:
Explicación:
Para agregar una tabla a una ventana, creamos una nueva clase:PyQt5 ejemplo de pestañas
Ejemplo completo de pestañas PyQt5:
import sys from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QWidget, QAction, QTabWidget,QVBoxLayout from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSlot class App(QMainWindow): def __init__(self): super().__init__() self.title = 'PyQt5 pestañas' 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.table_widget = MyTableWidget(self) self.setCentralWidget(self.table_widget) self.show() class MyTableWidget(QWidget): def __init__(self, parent): super(QWidget, self).__init__(parent) self.layout = QVBoxLayout(self) # Inicializar pantalla de pestañas self.tabs = QTabWidget() self.tab1 = QWidget() self.tab2 = QWidget() self.tabs.resize(300,200) # Agregar pestañas self.tabs.addTab(self.tab1,"Pestaña 1") self.tabs.addTab(self.tab2,"Pestaña 2") # Crear primera pestaña self.tab1.layout = QVBoxLayout(self) self.pushButton1 = QPushButton("PyQt5 botón") self.tab1.layout.addWidget(self.pushButton1) self.tab1.setLayout(self.tab1.layout) # Agregar pestañas al widget self.layout.addWidget(self.tabs) self.setLayout(self.layout) @pyqtSlot() def on_click(self): print("\n") for currentQTableWidgetItem in self.tableWidget.selectedItems(): print(currentQTableWidgetItem.row(), currentQTableWidgetItem.column(), currentQTableWidgetItem.text()) if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_())
class MyTableWidget(QWidget)
self.tabs = QTabWidget() self.tab1 = QWidget() self.tab2 = QWidget() self.tabs.resize(300,200)
self.tabs.addTab(self.tab1,"Pestaña 1") self.tabs.addTab(self.tab2,"Pestaña 2")
self.tab1.layout = QVBoxLayout(self) self.pushButton1 = QPushButton("PyQt5 botón") self.tab1.layout.addWidget(self.pushButton1) self.tab1.setLayout(self.tab1.layout)
self.layout.addWidget(self.tabs) self.setLayout(self.layout)
self.table_widget = MyTableWidget(self) self.setCentralWidget(self.table_widget)
AdelanteAtras
Buenas, una pregunta:
ResponderBorrarMe gustaría saber que función cumple esta parte del codigo:
@pyqtSlot()
def on_click(self):
print("\n")
for currentQTableWidgetItem in self.tableWidget.selectedItems():
print(currentQTableWidgetItem.row(), currentQTableWidgetItem.column(), currentQTableWidgetItem.text())