我错过了一些非常简单的东西。但我已经花了15分钟在上面了,但我没看到。
此代码生成一个带有3个按钮的QButtonGroup:
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,只有一个按钮:
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() ->列表。最后一个。
我错过了什么!?
发布于 2022-07-20 18:56:18
您似乎没有管理按钮实例的生存期。所以,在他们声明的范围结束时,他们就被摧毁了。它们将不再有效。这是因为默认父级不是父级。
您需要介绍一些典型的Qt父子关系。我可能只是将它们与执行这段代码的当前小部件放在一起。
这同样适用于您的按钮组。
https://stackoverflow.com/questions/73054051
复制相似问题