我正在使用 QStackwidget 并且我想檢查我是否在小部件 A 或 B 中。在 PyQt 檔案中,它說我需要 currentwidget() 方法來回傳當前小部件/頁面。這是此方法在 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() 方法獲取頁面名稱?
uj5u.com熱心網友回復:
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()也可能很有用,因為它回傳當前小部件的索引而不是小部件本身。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/378502.html
上一篇:QStateMachine在發布模式下不發出開始()信號
下一篇:QT通過單擊和拖動檢查多個框
