crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Похоже бага? QRadioButton::setChecked(false) не сбрасывает пометку....
trdm
  опции профиля:
сообщение 1.3.2009, 0:54
Сообщение #1


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Похоже бага? QRadioButton::setChecked(false) не сбрасывает пометку....
Как это обойти?
Мне нужно показать, что ни один из вариантов не выбран....

Смысл в чем, есть варианты выравнивания Право/центр/лево.>>радиобатоны....
если выделена группа ячеек, а у них разное выравнивание, мне надо показать, что выравнивание разное, и естественно я сброшу все чекеты.
а вот нефига не сбрасывается , если был зачекан хоть один........
Это бага? Кривые руки?
Я могу это обойти, QCheckBox-ом и десятком строк кода, но может я чего пропустил?

Сообщение отредактировал trdm - 1.3.2009, 0:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.3.2009, 1:35
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


проверил. действительно не сбрасывается.
думаю это скорее не баг а специфическая штука для этого графического элемента.
попробуй вспомнить хоть одну прогу где в ходе работы эти кнопки в начальное состояние переходят т. е сначала выбрали одну а потом очистили выбор.....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 1.3.2009, 1:49
Сообщение #3


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Проверять лень, попробуйте QRadioButton::setDown(false)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.3.2009, 6:01
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


trdm, выложи тестовый пример, для экспериментов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.3.2009, 9:17
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Kagami @ 1.3.2009, 1:49) *
попробуйте QRadioButton::setDown(false)

тоже самое.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 1.3.2009, 10:21
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  




Тут проблема в установленном Exclusive. Его надо на время снимать, а потом обратно ставить.
Я делал через дизайнер и по непонятным мне причинам buttonGroup, который я создал не видится как public. Пришлось идти на извраты. Но в принципе это не обязательно, если снять exclusive у каждого радиобаттона, очистить флаги и выставить exclusive обратно.

void MainWindow::on_pushButton_clicked()
{
    QButtonGroup *bg = findChild<QButtonGroup *>();
    bg->setExclusive(false);
    QList<QAbstractButton *> btns = bg->buttons();
    foreach(QAbstractButton *btn, btns)
    {
        btn->setChecked(false);
    }
    bg->setExclusive(true);
}


Сообщение отредактировал SABROG - 1.3.2009, 10:24
Прикрепленные файлы
Прикрепленный файл  RadioButtons.zip ( 2 килобайт ) Кол-во скачиваний: 80
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 3.3.2009, 18:56
Сообщение #7


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


в принципе идея радиобаттонов действительна в том чтобы было чтото одно но выбрано, это выбор из имеющихся. А если нужно чтобы вообще не было выбрано или выбрано несколько то велкам ту чекбокс
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.3.2009, 5:24
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kuler @ 3.3.2009, 21:56) *
не было выбрано или выбрано несколько то велкам ту чекбокс
почти согласен, у групБокса есть флажек в заголовке, сняли - стали не акивны переключатели
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 22.3.2009, 13:40
Сообщение #9


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Еше раз спасибо за намек, но пошел другим путем:
    m_grVA = new QButtonGroup(this);
    m_grVA->addButton(m_TopVTA);
    m_grVA->addButton(m_CenterVTA);
    m_grVA->addButton(m_BottomVTA);

т.е. добавил QButtonGroup врукопашную +
    m_grVA->setExclusive(false/true);

показалось так правильнее...


SABROG,
Кстати, чем ты *.ui делал?
они моим дизайнером не открываются (использую от 4.2.1) по соображениям из удобства.
с твоих уи заголовок:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">

в дизайнере от 421
<ui version="4.0">
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2020, 16:14