2016-07-06 43 views
0

如果一個複選框被選中,然後我想附加一個值到列表中,並且如果未選中則刪除。Pyqt 50+複選框---如何去做這個

該文檔有點混淆 - 有點擊()切換()切換()stateChange()和其他一堆。所有這些都應該用於將值添加到列表中,但是如果有人取消選中而不是再次添加它,我將如何刪除它。

此列表被傳遞到另一個函數。

我只是有麻煩找出做到這一點的最好辦法,大約有50個複選框和所有複選框

GUI 我能做到這一點只有一個功能....也許使用了字典作爲字符串的值傳遞給列表並將鍵放入stateChange(),還是我需要爲每個複選框寫出整個過程?

我想這只是奇怪的,因爲我用於調試冠層,但冠層不適用於PyQt,所以現在我在崇高。

感謝

+0

有關您想要實現的內容的更多信息可能需要,但爲何不在調用該函數之前檢查所有複選框的狀態,而不是嘗試管理列表? – user3419537

回答

0

您可以將clicked()信號連接到包含if語句來如果複選框被選中與否,看起來功能。

例子:

self.checkbox.clicked.connect(checkbox_state_fu) 

def checkbox_state_fu(self): 
    if self.checkbox.checkState() != 0: 
    # checkState() is only False for 0. 
     state = True 
    else: 
     state = False 

if語句來,你可以添加/從列表中刪除您的項目,你想裏面。