Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 23, 2017 09:35:37

chewey
Зарегистрирован: 2016-02-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt4 qradiobutton setChecked(False)

пару слов в общем: есть прога которая реализует тестирование. я рандомно выбираю вопрос и для него подгружается набор элементов (лейблы, эдиты, и тд). есть тип вопроса “single-choice” для него подгружается несколько радиобатонов и суть проблемы в том, что при следующей подгрузке этого типа вопроса сохраняется состояние checked для радиобатона который я выбрал на предыдущем вопросе. radio.setChecked(False) не работает

Офлайн

#2 Дек. 23, 2017 19:21:58

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

pyqt4 qradiobutton setChecked(False)

chewey
radio.setChecked(False) не работает
честно говоря, так и хочеться ответить: “потому что гладиолус”. Не видя кода, с возможностю повторить проблему никто вам ничего толкового не посоветует.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Дек. 24, 2017 10:58:18

chewey
Зарегистрирован: 2016-02-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt4 qradiobutton setChecked(False)

вот код

Прикреплённый файлы:
attachment tests.pyw (8,5 KБ)

Офлайн

#4 Дек. 24, 2017 10:58:35

chewey
Зарегистрирован: 2016-02-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt4 qradiobutton setChecked(False)

к нему json файл

Прикреплённый файлы:
attachment tests.json (2,5 KБ)

Офлайн

#5 Янв. 2, 2018 14:10:23

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

pyqt4 qradiobutton setChecked(False)

Так и не выйдет у вас ничего таким макаром. Так уж устроены радиобаттоны у КуТе, по умолчанию.
Один раз чекнули и потом фиг анчекнеш.
У вас несколько вариантов:
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_())



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#6 Янв. 9, 2018 19:03:58

chewey
Зарегистрирован: 2016-02-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt4 qradiobutton setChecked(False)

спасибо, все сработало

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version