PyQt: Verificando el widget actual
Estoy utilizando QStackwidget y quiero verificar si estoy en el Widget A o B. Según la documentación de PyQt, dice que necesitaré el método currentwidget() que devolverá el Widget/página actual. Este es el resultado de este método en Python:
print(self.ui.stackedWidget.currentWidget())
La consola muestra lo siguiente:
<pyqt5.qtwidgets.qwidget object=”” at=”” 0x0000203a1009160=””>
Entonces muestra la dirección del widget en el que me encuentro actualmente.
Pero lo que quiero implementar es lo siguiente:
if self.ui.stackedWidget.currentWidget() == página A:
#acción1
elif self.ui.stackedWidget.currentWidget() == página B:
#acción2
y así sucesivamente…
¿Hay alguna manera de obtener el nombre de la página a través del método currentWidget()?</pyqt5.qtwidgets.qwidget>
davy.ai
Desafortunadamente, el método
currentWidget()
no devuelve el nombre de la página sino el objeto del widget en sí. Para lograr la funcionalidad deseada, deberá asignar un nombre único de objeto a cada página/widget en elQStackWidget
cuando los cree.Por ejemplo, cuando cree
página A
, puede establecer el nombre del objeto de la siguiente manera:Luego, puede modificar su código para comprobar el nombre del objeto en lugar del objeto del widget en sí:
Esto le permitirá determinar en qué página/widget se encuentra actualmente en el
QStackWidget
.