Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: dr_Begemot от Апрель 01, 2009, 14:06



Название: Использование нескольких QRadioButton
Отправлено: dr_Begemot от Апрель 01, 2009, 14:06
Есть 2 группы QRadioButton'ов по 3 штуки в каждой группе. Однако, почекму-то checked может быть только один элемент из ДВУХ групп, когда надо, чтобы checked были 2 элемента - по одному из каждой группы.

Как разделить эти RadioButton'ы на 2 группы, чтобы они работали независимо труг от друга?
Спасибо)


Название: Re: Использование нескольких QRadioButton
Отправлено: Karl-Philipp от Апрель 01, 2009, 14:22
Попробуйте использовать QButtonGroup.


Название: Re: Использование нескольких QRadioButton
Отправлено: spirit от Апрель 01, 2009, 14:29
Попробуйте использовать QButtonGroup.
или же для нужных QRadioButton'ов установить свойство setAutoExclusive в false.


Название: Re: Использование нескольких QRadioButton
Отправлено: dr_Begemot от Апрель 01, 2009, 14:49
Попробуйте использовать QButtonGroup.
или же для нужных QRadioButton'ов установить свойство setAutoExclusive в false[/].

А что зависит от AutoExclusive?


Название: Re: Использование нескольких QRadioButton
Отправлено: dr_Begemot от Апрель 01, 2009, 14:52
Еще вопрос такой возник: Можно ли средствами дизайнера указать что если checked определенный RadioButton, то делать enabled определенный TextBox, иначе, если этот RadioButton uncheck то делать соответствующий TextBox недоступным?

Или это только руками можно прописывать?


Название: Re: Использование нескольких QRadioButton
Отправлено: Rcus от Апрель 01, 2009, 14:55
связать сигнал QAbstractButton::toggled(bool) и слот QWidget::setEnabled(bool)


Название: Re: Использование нескольких QRadioButton
Отправлено: dr_Begemot от Апрель 01, 2009, 15:03
связать сигнал QAbstractButton::toggled(bool) и слот QWidget::setEnabled(bool)

спасибо) А как реализовать обратное? Т.е. если unchecked то enabled?


Название: Re: Использование нескольких QRadioButton
Отправлено: pastor от Апрель 01, 2009, 15:04
Попробуйте использовать QButtonGroup.

+1

Используй QButtonGroup


Название: Re: Использование нескольких QRadioButton
Отправлено: pastor от Апрель 01, 2009, 15:06
спасибо) А как реализовать обратное? Т.е. если unchecked то enabled?

Будет достаточно одного коннекта, который привел Rcus

Цитировать
void QAbstractButton::toggled ( bool checked )   [signal]
This signal is emitted whenever a checkable button changes its state. checked is true if the button is checked, or false if the button is unchecked.


Название: Re: Использование нескольких QRadioButton
Отправлено: dr_Begemot от Апрель 01, 2009, 15:11
спасибо) А как реализовать обратное? Т.е. если unchecked то enabled?

Будет достаточно одного коннекта, который привел Rcus

Цитировать
void QAbstractButton::toggled ( bool checked )   [signal]
This signal is emitted whenever a checkable button changes its state. checked is true if the button is checked, or false if the button is unchecked.


Нееет, вы не поняли. тот конект работает, все ок. Просто для другого случая нужно чтоб TextBox был АКТИВЕН, только в тех случаях, когда UNchecked определенный CheckBox.


Название: Re: Использование нескольких QRadioButton
Отправлено: Khs от Апрель 01, 2009, 15:13
to dr_Begemot ты хоть попробовал соединить сигнал со слотом?!  >:(


Название: Re: Использование нескольких QRadioButton
Отправлено: dr_Begemot от Апрель 01, 2009, 15:19
to dr_Begemot ты хоть попробовал соединить сигнал со слотом?!  >:(

Да, соеденил. Все работает. Вопрос в том, как указать чтобы в слот передавалось отрицание того значения, которое в сигнале?

Например если я хочу, сделав CheckBox активным, сделать активным textBox, то все ок, а вот если наоборот?
Если я хочу, сделав CheckBox активным, сделать НЕактивным textBox?


Название: Re: Использование нескольких QRadioButton
Отправлено: pastor от Апрель 01, 2009, 15:34
QWidget::setDisabled ?


Название: Re: Использование нескольких QRadioButton
Отправлено: dr_Begemot от Апрель 01, 2009, 15:36
QWidget::setDisabled ?

гм... чорт как ж я не догадался сам)))
Спасибо)