crossplatform.ru

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


  Ответ в Похоже бага? QRadioButton::setChecked(false) не сбрасывает пометку....
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
trdm Дата 22.3.2009, 13:40
  Еше раз спасибо за намек, но пошел другим путем:
    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">
Litkevich Yuriy Дата 4.3.2009, 5:24
 
Цитата(kuler @ 3.3.2009, 21:56) *
не было выбрано или выбрано несколько то велкам ту чекбокс
почти согласен, у групБокса есть флажек в заголовке, сняли - стали не акивны переключатели
kuler Дата 3.3.2009, 18:56
  в принципе идея радиобаттонов действительна в том чтобы было чтото одно но выбрано, это выбор из имеющихся. А если нужно чтобы вообще не было выбрано или выбрано несколько то велкам ту чекбокс
SABROG Дата 1.3.2009, 10:21
 

Тут проблема в установленном 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);
}
kwisp Дата 1.3.2009, 9:17
 
Цитата(Kagami @ 1.3.2009, 1:49) *
попробуйте QRadioButton::setDown(false)

тоже самое.
Litkevich Yuriy Дата 1.3.2009, 6:01
  trdm, выложи тестовый пример, для экспериментов.
Kagami Дата 1.3.2009, 1:49
  Проверять лень, попробуйте QRadioButton::setDown(false)
kwisp Дата 1.3.2009, 1:35
  проверил. действительно не сбрасывается.
думаю это скорее не баг а специфическая штука для этого графического элемента.
попробуй вспомнить хоть одну прогу где в ходе работы эти кнопки в начальное состояние переходят т. е сначала выбрали одну а потом очистили выбор.....
trdm Дата 1.3.2009, 0:54
  Похоже бага? QRadioButton::setChecked(false) не сбрасывает пометку....
Как это обойти?
Мне нужно показать, что ни один из вариантов не выбран....

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