2017-07-29 34 views
0

我試圖做一組獨佔複選框,使用QGroupBox(據我瞭解,它是默認是獨家),但是當我運行我的程序時,複選框不是排他性的,並表現爲他們通常會。QButtonGroup沒有使複選框獨佔

skillP = QCheckBox("Passive") 
skillCb = QCheckBox("Combat") 
skillCm = QCheckBox("Command") 
skillP.setChecked(True) 
addskillG = QButtonGroup() 
addskillG.addButton(skillP) 
addskillG.addButton(skillCm) 
addskillG.addButton(skillCb) 

有什麼我做錯了嗎?

+0

我只是想你的代碼,我看到有沒問題,你可以顯示更多的代碼,也許錯誤是在你的代碼的另一部分 – eyllanesc

+1

這是我的測試:https://gist.github.com/eyllanesc/ece0fe6e0f719267fda6cc7775568615 – eyllanesc

+0

沒有其他的,但沒關係: layout.addWidget(skillP,1,1) layout.addWidget(skillCb,1,2)佈局= QGridLayout() layout.addWidget layout.addWidget(skillCm,1,3)'我不明白這會如何改變任何事情。 – Aiveebetter

回答

0

的問題造成的,因爲垃圾收集器從內存中刪除變量QButtonGroup,來解決這個問題,你必須通過一個父對這個對象:

addskillG = QButtonGroup(self)