簡體   English   中英

PyQt 單選按鈕排序列表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM