[英]PyQt Sort List of Radio Buttons
我正在尝试动态创建代表计算机上打开的 COM 端口的单选按钮列表。 第一次创建和显示列表很容易,因为我可以按数字顺序对端口进行排序,然后将它们对应的单选按钮添加到我的垂直布局中。
但是,如果用户插入一个创建新 COM 端口的新设备,我必须找到一些方法将新按钮添加到正确的位置,因为它可能没有正确的数字顺序。 到目前为止,我能够做到这一点的唯一方法是摆脱所有按钮,然后在对列表进行排序后重新添加它们,因为 addWidget 不允许我指定添加小部件的位置。 这种方法似乎效率很低,我假设有一个更简单的方法,但我还没有找到它。
而不是使用addWidget()
,确定按钮列表中的索引以放置新的,并使用QBoxLayout.insertWidget(index, widget)
将其插入:
newButton = QRadioButton(...)
newText = newButton.text()
index = 0
for button in get_buttons():
if button.text() >= newText:
break
index += 1
layout.insertWidget(index, newButton)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.