[英]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.