【问题标题】:StackedWidget does not works properlyStackedWidget 无法正常工作
【发布时间】:2021-06-03 15:46:34
【问题描述】:

我的程序中有以下代码片段。 我正要使用堆叠的小部件作为我的中心小部件。 Ui_purchase 类是由 qt 设计器创建的类。 当我运行这个程序时,我得到了一个主窗口,其中有一小部分 puchase 小部件,如图所示。

我需要包含购买窗口所有内容的主窗口。

class UISuperMarket(QMainWindow):
    def __init__(self):
        super().__init__()
        # self.resize(800, 600)
        self.setWindowTitle('MASS Supermarket')
        self.setWindowIcon(QIcon('res/images/icon.png'))
        self.centralWidget = QStackedWidget(self)

        purchase = QWidget()
        ui = Ui_purchase()
        ui.setupUi(purchase)
        self.centralWidget.addWidget(purchase)
        self.centralWidget.setCurrentWidget(purchase)

        self.setupMenuBar()
        self.show()

【问题讨论】:

  • 添加self.setCentralWidget(self.centralWidget)
  • 谢谢@eyllanesc。真的我没注意到
  • 另外,centralWidget() 是 QMainWindow 的现有函数,因此您不应该覆盖该属性(即使该函数很少使用,但这不是重点)。
  • 感谢您的信息

标签: python pyqt5 qt-designer


【解决方案1】:

添加self.setCentralWidget(self.centralWidget) 声明帮助我解决了问题。感谢@eyllanesc 提供的信息。

堆叠小部件centralWidget 已更改为另一个变量名称。我实际上并不知道QMainWindow 中存在centralWidget() 方法。感谢@musicamante 提供的信息。

【讨论】:

    猜你喜欢
    • 2016-12-01
    • 1970-01-01
    • 2016-09-01
    • 2012-07-11
    • 2018-04-08
    • 2017-04-20
    • 2018-10-02
    • 2016-09-04
    • 2010-10-06
    相关资源
    最近更新 更多