Так и не выйдет у вас ничего таким макаром. Так уж устроены радиобаттоны у КуТе, по умолчанию.
Один раз чекнули и потом фиг анчекнеш.
У вас несколько вариантов:
1. каждый раз создавать новую группу радиобаттонов.
2. всегда ставить выбор по умолчанию на первый баттон.
3. обьединить их в группу QButtonGroup, тогда вы сможеже их анчекнуть.
по последнему варианту небольшой пример:
import sys
from PyQt4 import QtGui
class Window(QtGui.QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.radio_bttns = []
layout = QtGui.QVBoxLayout(self)
self.setLayout(layout)
self.btn_group = QtGui.QButtonGroup(self) # Группа для радиобаттонов
for i in range(4):
radio = QtGui.QRadioButton(self, text = 'text {}'.format(i))
self.radio_bttns.append(radio)
self.btn_group.addButton(radio)
layout.addWidget(radio)
clear_btn = QtGui.QPushButton(self, text = 'Clear')
layout.addWidget(clear_btn)
clear_btn.clicked.connect(self.clear)
self.show()
def clear(self):
# очитска работтонов
self.btn_group.setExclusive(False) # переводим группу из екслюзивного ржима, в нем возможен множественный выбор/не выбрать ни одной
for radio in self.radio_bttns:
radio.setChecked(False) # снимаем отметки
self.btn_group.setExclusive(True) # возвращаем группу в эксклюзивный режим, чтобы одновременно можно было выделить только один
app = QtGui.QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())