首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果以迭代方式添加QButtonGroup,则它们只包含一个按钮。

如果以迭代方式添加QButtonGroup,则它们只包含一个按钮。
EN

Stack Overflow用户
提问于 2022-07-20 15:05:41
回答 1查看 44关注 0票数 1

我错过了一些非常简单的东西。但我已经花了15分钟在上面了,但我没看到。

此代码生成一个带有3个按钮的QButtonGroup:

代码语言:javascript
复制
from qtpy.QtWidgets import (
    QButtonGroup,
    QPushButton,
    QRadioButton,
    )

buttons = list()
for label in ("Beginner", "Senior", "Expert"):
    cs = QPushButton()
    cs.setObjectName(f"pushButton_{label}")
    cs.setText(label)
    buttons.append(cs)
    
cs_group = QButtonGroup()
for cs in buttons:
    cs_group.addButton(cs)

三个元素的cs_group.buttons() ->列表

这个按钮产生一个QButtonGroup,只有一个按钮:

代码语言:javascript
复制
from qtpy.QtWidgets import (
    QButtonGroup,
    QPushButton,
    QRadioButton,
    )

cs_group = QButtonGroup()
for label in ("Beginner", "Senior", "Expert"):
    cs = QPushButton()
    cs.setObjectName(f"pushButton_{label}")
    cs.setText(label)
    cs_group.addButton(cs)

具有单个元素的cs_group.buttons() ->列表。最后一个。

我错过了什么!?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-20 18:56:18

您似乎没有管理按钮实例的生存期。所以,在他们声明的范围结束时,他们就被摧毁了。它们将不再有效。这是因为默认父级不是父级。

您需要介绍一些典型的Qt父子关系。我可能只是将它们与执行这段代码的当前小部件放在一起。

这同样适用于您的按钮组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73054051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档