PyQt5:无法重新加载以前使用的QWidget?

2024-05-23 17:31:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在为我目前工作的学生宿舍编写一些酒吧账单。 为此,我有两个不同的qscrollarea,两个qwidget,每个QGridLayout一个。一个用于用户选择,另一个用于选择要购买的项目

当我使用切换到项目选择界面时,一切正常 self.scrollArea.setWidget(self.itemWidget),但是我还实现了一个后退按钮,以防选择了错误的用户,这应该返回到启动的第一个QWidget:self.scrollArea.setWidget(self.userWidget),在我看来,这应该只是再次加载以前构建的布局,但是我得到了这个错误:

RuntimeError: wrapped C/C++ object of type QWidget has been deleted

我哪里出错了?有人能帮我吗


Tags: 项目用户self界面错误酒吧账单qwidget
1条回答
网友
1楼 · 发布于 2024-05-23 17:31:19

报告明确指出:

The widget becomes a child of the scroll area, and will be destroyed when the scroll area is deleted or when a new widget is set.

您需要做的是在设置另一个小部件之前先调用takeWidget()

或者,您可以使用QStackedWidget作为两个小部件的容器

相关问题 更多 >