crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Несколько QRadioButton, как узнать какой выбран?
RazrFalcon
  опции профиля:
сообщение 11.11.2011, 18:48
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


сабж

autoExlusive включен. Как узнать какой выбран, без перебора всех.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 11.11.2011, 19:21
Сообщение #2


Активный участник
***

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

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




Репутация:   3  


Можно хранить номер выбранного radioButton в отдельной переменной, значение которой проверять. Ну или вместо номера можно использовать указатель на выбранный radioButton.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 11.11.2011, 19:47
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Ну тогда при выборе придется находить выбранный. А хранить указатель не выйдет, так как храниться должно в QSettings

UPD:
Выкрутился так:
поставил всем QRadioButton'ам accessibleName от 1 до n

Затем в конструкторе:
QString str("radioBtn"); // имена у них radioBtn1, radioBtn2, radioBtn3, etc
str.append(settings->value("type").toString()); // settings - это QSettings
QRadioButton *rBtn = findChild<QRadioButton *>(str);
rBtn->click(); // выбираем нужный
А при нажатии:
QRadioButton *rBtn = static_cast<QRadioButton *>(sender());
settings->setValue("type",rBtn->accessibleName());

Вроде пашет. Замечания приветствуются.

Сообщение отредактировал RazrFalcon - 11.11.2011, 19:48
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 11.11.2011, 20:02
Сообщение #4


Активный участник
***

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

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




Репутация:   6  


Как по мне, если их более 4х, то элегантное решение. Другое - делать список указателей по мере создания, и выбирать там номер выбранного элемента, на выходе порядковый номер, но в реализации несколько сложнее.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
crazymonkey
  опции профиля:
сообщение 12.3.2012, 21:18
Сообщение #5


Студент
*

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

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




Репутация:   0  


тоже столкнулся с такой проблемой

решением встроенным в Qt оказался класс-контайнер QButtonGroup, у которого если несколько весьма полезных сигналов ;)
http://qt-project.org/doc/qt-4.8/qbuttongroup.html

я понимаю, что не попал по времени с ответом, но вдруг кто искать будет :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 12.3.2012, 22:03
Сообщение #6





Гости








    


Оо а на сигнал подписаться уже не комильфо ? Или я выпал из тренда...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 12.3.2012, 22:51
Сообщение #7


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


уже
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 15.5.2024, 3:11