PyQt:检查当前小部件
PyQt : Checking the current widget
我正在使用 QStackwidget,我想检查我是在 Widget A 还是 B。在 PyQt 文档中,它说我需要 currentwidget() 方法,它将 return 当前 widget/page。这是 python 中此方法的输出:
print(self.ui.stackedWidget.currentWidget())
控制台显示如下:
<PyQt5.QtWidgets.QWidget object at 0x0000203A1009160>
所以它显示了我当前所在的小部件的地址。
但是我要实现的是下面的
if self.ui.stackedWidget.currentWidget() == page A:
#action1
elif self.ui.stackedWidget.currentWidget() == page B:
#action2
and so on ...
有没有办法通过currentWidget()方法获取页面名称?
QStackedWidget.currentWidget()
为您提供了小部件本身,因此您可以直接比较它:
firstPageWidget = QWidget()
secondPageWidget = QWidget()
thirdPageWidget = QWidget()
stackedWidget = QStackedWidget()
stackedWidget.addWidget(firstPageWidget)
stackedWidget.addWidget(secondPageWidget)
stackedWidget.addWidget(thirdPageWidget)
currentWidget = stackedWidget.currentWidget()
if currentWidget == firstPageWidget:
print("In first page")
elif currentWidget == secondPageWidget:
print("In second page")
elif currentWidget == thirdPageWidget:
print("In third page")
方法 QStackedWidget::currentIndex() 也可能有用,因为它 returns 当前小部件的索引而不是小部件本身。
我正在使用 QStackwidget,我想检查我是在 Widget A 还是 B。在 PyQt 文档中,它说我需要 currentwidget() 方法,它将 return 当前 widget/page。这是 python 中此方法的输出:
print(self.ui.stackedWidget.currentWidget())
控制台显示如下:
<PyQt5.QtWidgets.QWidget object at 0x0000203A1009160>
所以它显示了我当前所在的小部件的地址。
但是我要实现的是下面的
if self.ui.stackedWidget.currentWidget() == page A:
#action1
elif self.ui.stackedWidget.currentWidget() == page B:
#action2
and so on ...
有没有办法通过currentWidget()方法获取页面名称?
QStackedWidget.currentWidget()
为您提供了小部件本身,因此您可以直接比较它:
firstPageWidget = QWidget()
secondPageWidget = QWidget()
thirdPageWidget = QWidget()
stackedWidget = QStackedWidget()
stackedWidget.addWidget(firstPageWidget)
stackedWidget.addWidget(secondPageWidget)
stackedWidget.addWidget(thirdPageWidget)
currentWidget = stackedWidget.currentWidget()
if currentWidget == firstPageWidget:
print("In first page")
elif currentWidget == secondPageWidget:
print("In second page")
elif currentWidget == thirdPageWidget:
print("In third page")
方法 QStackedWidget::currentIndex() 也可能有用,因为它 returns 当前小部件的索引而不是小部件本身。