|
|
1
1
我相信它不起作用的原因是你
如果勾选了复选框,请在要检查的代码处调用。我认为您要做的是将子对象类型化为qtgui.qradiobutton,但在本例中不起作用。相反,您应该创建一个新的小部件。尝试将其更改为smth。这样地:
上面的代码应该迭代布局对象的子对象,检查它们的类型并打印“单选按钮…”,以防它是单选按钮并且被选中。 希望这有帮助,问候 |
|
|
2
3
您的代码不是最小的和自包含的,因此很难帮助您——但无论如何,我已经努力构建了一个近乎最小的自包含的近似值,这个近似值是您正在尝试做的事情,并且似乎可以正确地工作——这里是…:
这似乎是你想要的。关键的改变是保留实际的python小部件对象,而不是尝试从布局vbox中恢复它们——这种尝试似乎没有按预期工作,至少在正确访问有关给定单选按钮是否被选中的关键细节方面是如此,这当然是您的问题的核心。 |
|
|
3
0
我想确定选中哪个按钮的更好方法是使用 QButtonGroup ,因为它提供了一个容器来组织按钮小部件组。它不是一个可视对象,因此它不会代替布局来直观地排列单选按钮,但它允许您使它们相互排斥,并将一个整数“id”与它们关联起来,从而让您知道哪一个被选中,而无需遍历布局中存在的所有小部件。 如果您决定使用它,您的代码应该变成这样:
要识别选中的按钮,可以使用 qButnGrand的 棋盘 方法:
或者,如果要检索按钮对象本身,可以使用 检查按钮 方法:
|
|
|
Wolfspirit · 你如何确定一个时间点是否在一个时间段内? 1 年前 |
|
|
h-swell · QT——如何使用布局类? 2 年前 |
|
|
LeftFrog · Qt中macOS上的按钮颜色不变 2 年前 |
|
|
Bobby · Qt是否与RAII设计模式不兼容? 2 年前 |
|
|
Harvey · 如何更改Qt Creator配置项目的默认套件? 2 年前 |