gpt4 book ai didi

python - 在 PyQT 中获取布局的小部件

转载 作者:太空狗 更新时间:2023-10-29 22:07:18 36 4
gpt4 key购买 nike

我有一个 QVBoxLayout,我通过 addWidget() 添加了一些小部件。我现在需要删除那些小部件,看来我需要使用 removeWidget()(它接收要删除的小部件)来执行此操作。

我认为在我的布局上调用 children()findChildren(QWidget) 会返回我添加到其中的小部件列表;不过,我在调试器中,只是收到空列表。

我是不是误会了什么?我上周才开始使用 PyQT,主要是通过 API 文档的反复试验来学习。

最佳答案

要从 QLayout 获取小部件,您必须调用其 itemAt(index) 方法。正如此方法的名称所暗示的那样,它将返回一个项目而不是一个小部件。在结果上调用 widget() 最终会给你这个小部件:

myWidget = self.myLayout.itemAt(index).widget()

要删除小部件,请将父小部件设置为None:

myWidget.setParent(None)

QLayout count() 方法也很有帮助。查找和删除布局的所有内容:

index = myLayout.count()
while(index >= 0):
myWidget = myLayout.itemAt(index).widget()
myWidget.setParent(None)
index -=1

关于python - 在 PyQT 中获取布局的小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077192/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com