Как сгруппировать radiobutton c
Перейти к содержимому

Как сгруппировать radiobutton c

  • автор:

Как сгруппировать radio button?

QT radio button
Возникла такая проблема, что когда несколько radio button на форме по нажатию кнопки push button не.

Как сделать, чтобы при нажатии кнопки Push Button загоралась та или иная кнопка Radio Button
вопрос: Как сделать,чтобы при нажатие кнопки Push Botton загоралась та или иная кнопка Radio Button?

Radio Button (option button) в html документе, открытом в IE
Как "нажать" (не знаю какое событие должно произойти или какое свойство нужно установит в true).

Как очистить выбранный radio button!?
Т.е. у меня на форме есть 4 кнопки radio button, я выбираю 1 из них и появляется кружок, а как.

205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
Так же как что-то другое — с помощью конкретного layout.
63 / 63 / 15
Регистрация: 20.08.2014
Сообщений: 593
Как сгруперовать radio button?
без понятия.
сгру пПИ ровать

1 2 3 4 5 6 7
QGroupBox *groupBox = new QGroupBox; QVBoxLayout *vLayot = new QVBoxLayout; QRadioButton *b1= new QRadioButton("button1"); QRadioButton *b2= new QRadioButton("button2"); vLayout->addWidget(b1); vLayout->addWidget(b2); groupBox->layout(vLayout);

Примерно так. Тогда включена будет только одна из кнопок.
Регистрация: 01.02.2014
Сообщений: 878

ЦитатаСообщение от Pingvinoff Посмотреть сообщение

Примерно так. Тогда включена будет только одна из кнопок.

Сразу вопрос, 2 даже
1) Почему все классы создаются динамически а не статически?
2) мне надо будет я так понимаю, в деструкторе еще delete для каждого пррописать?

63 / 63 / 15
Регистрация: 20.08.2014
Сообщений: 593

ЦитатаСообщение от mh-coder Посмотреть сообщение

деструкторе еще delete для каждого пррописать?
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527

ЦитатаСообщение от Pingvinoff Посмотреть сообщение

Нет. Если при создании указали в качестве их родителя какой-то QObject, то данные объекты будут автоматически удалены при уничтожении этого QObject. Это одно из основных свойств QObject.

Добавлено через 1 минуту

ЦитатаСообщение от mh-coder Посмотреть сообщение

1) Почему все классы создаются динамически а не статически?
2) мне надо будет я так понимаю, в деструкторе еще delete для каждого пррописать?

1) Это просто более профессионально. Можно создавать и статически объекты, вам никто не мешает.
2) Чуть выше ответил.

63 / 63 / 15
Регистрация: 20.08.2014
Сообщений: 593

ЦитатаСообщение от Shtirliz72 Посмотреть сообщение

Нет. Если при создании указали в качестве их родителя какой-то QObject, то данные объекты будут автоматически удалены при уничтожении этого QObject. Это одно из основных свойств QObject

я знаю об этом
Регистрация: 01.02.2014
Сообщений: 878

ЦитатаСообщение от Pingvinoff Посмотреть сообщение

Примерно так. Тогда включена будет только одна из кнопок.

сделал как у вас в примере,

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
this->groupBox = new QGroupBox; this->vLayout = new QVBoxLayout; this->groupBox2 = new QGroupBox; this->vLayout2 = new QVBoxLayout; vLayout->addWidget(this->ui->radioButton); vLayout->addWidget(this->ui->radioButton_2); vLayout->addWidget(this->ui->radioButton_3); groupBox->setLayout(vLayout); vLayout2->addWidget(this->ui->radioButton_4); vLayout2->addWidget(this->ui->radioButton_5); groupBox2->setLayout(vLayout2);

Радио баттоны не отображаются вообще, что я сделал не так?

Добавлено через 16 минут
PS: а зачем вообще гроуп боксы? без них никак?

Как сгруппировать radio button? — C++ Qt — Ответ 8206900

ЦитатаСообщение от Pingvinoff Посмотреть сообщение

Примерно так. Тогда включена будет только одна из кнопок.

сделал как у вас в примере,

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
this->groupBox = new QGroupBox; this->vLayout = new QVBoxLayout; this->groupBox2 = new QGroupBox; this->vLayout2 = new QVBoxLayout; vLayout->addWidget(this->ui->radioButton); vLayout->addWidget(this->ui->radioButton_2); vLayout->addWidget(this->ui->radioButton_3); groupBox->setLayout(vLayout); vLayout2->addWidget(this->ui->radioButton_4); vLayout2->addWidget(this->ui->radioButton_5); groupBox2->setLayout(vLayout2);

Радио баттоны не отображаются вообще, что я сделал не так?

Добавлено через 16 минут
PS: а зачем вообще гроуп боксы? без них никак?

Меню пользователя @ mh-coder

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Готовые ответы и решения:

QT radio button
Возникла такая проблема, что когда несколько radio button на форме по нажатию кнопки push button не.

Как сделать, чтобы при нажатии кнопки Push Button загоралась та или иная кнопка Radio Button
вопрос: Как сделать,чтобы при нажатие кнопки Push Botton загоралась та или иная кнопка Radio Button?

Radio Button (option button) в html документе, открытом в IE
Как "нажать" (не знаю какое событие должно произойти или какое свойство нужно установит в true).

Как очистить выбранный radio button!?
Т.е. у меня на форме есть 4 кнопки radio button, я выбираю 1 из них и появляется кружок, а как.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как привязать график к Radio Button?
Как в gui сделать так, чтобы при нажатии RadioButton1 строился первый график, а при нажатии.

Как можно отменить выбор radio button?
Здравствуйте друзья! Возникла такая ситуация, что на сайте необходимо использовать несколько.

Как сделать фон компонента Radio Button прозрачным?
Может кто сталкивался с такой проблемой, подскажите пожалуйста. Думал сделать изначально через.

Элемент RadioButton

С помощью RadioButton Вы можете предоставить конечному пользователю возможность выбора между несколькими вариантами, при этом, в один момент времени, выбран может быть только один. Вы можете достичь такой же эффект с помощью элемента CheckBox, но набор RadioButton’ов дает пользователю лучший обзор на доступные варианты.

   Yes No Maybe  

Все что мы сделали, это добавили Label с вопросом и три RadioButton’а (возможных ответа). Мы определили вариант по умолчанию с помощью свойства IsChecked последнего элемента, причем пользователь в силах изменить это, просто кликнув на другой вариант. Также, возможно, Вы захотите использовать это свойство в CodeBehind, для того, чтобы проверить выбран RadioButton или нет.

Группы RadioButton’ов

При запуске этого примера Вы убедитесь в том, что одновременно может быть выбран только один RadioButton. Но что, если Вы захотите создать несколько групп этих элементов, каждая из которых будет иметь свои индивидуальные варианты выбора? Этот механизм реализует свойство GroupName, которое позволяет Вам объединить несколько RadioButton’ов вместе. Вот пример:

   Yes No Maybe  Male Female Not sure  

Введение свойства GroupName для каждого из RadioButton’ов позволяет осуществлять выбор отдельно в двух группах этих элементов. При отсутствии выше рассмотренного свойства из 6 опций можно было бы выбрать только одну.

Специальный контент

RadioButton наследует класс ContentControl и, следовательно, может содержать в себе нетипичный контент. Если Вы просто определяете текст в элементе, как я сделал это выше, WPF помещает внутрь него элемент TextBlock для отображения текста, но это всего лишь упрощение. При желании Вы можете использовать любой элемент управления внутри RadioButton, как на примере ниже:

                   

Разметка в этом примере может показать сложной, но сама концепция является крайне простой. Для каждого RadioButton’а мы определили контейнер WrapPanel с изображением и текстом внутри. С использованием TextBlock мы получаем больший контроль, например, можно сформатировать текст так, как нам нужно. В этом примере я изменил цвет текста опций. Элемент Image (позже будет рассмотрен более подробно) позволяет отображать любое удобное нам изображение.

Заметьте, Вы можете нажать на любое место RadioButton’а: на изображение либо на текст, и вариант будет выбран. Это связано с тем, что мы сами определили специализированное содержание элемента. Если Вы разместите отдельно RadioButton и текстовое поле — пользователь сможет осуществить выбор, исключительно, при нажатии на круглую иконку RadioButton, что менее практично.

This article has been fully translated into the following languages:

Is your preferred language not on the list? Click here to help us translate this article into your language!

Как сгруппировать radiobutton c

Предположим, на форме нужно разместить несколько независимых групп радиокнопок. Группируются радиокнопки как обычно — с помощью контрола Group Box. Но убогий инструмент визуального редактирования Visual Studio не позволяет включить группирование радиокнопок, даже если Вы их добросовестно разместили на форме, как полагается (каждая группа радиокнопок внутри своего Group Box).

radiogroup01.jpg

После такого размещения логично ожидать, что группа Radio1/Radio2 будет работать отдельно от группы Radio3/Radio4, но не тут то было — после запуска приложение радиокнопки Radio1, Radio2, Radio3 и Radio4 иногда работают как одна группа. Я долго не мог понять, почему. Оказалось это происходит, если Вы сначала добавили 2 контрола Group Box, а потом 4 контрола Radio Button, даже не подозревая о том, что порядок добавления контролов в форму имеет значение — надо было сначала добавить первый Group Box, потом в него радиокнопки Radio1 и Radio2, потом добавить второй Group Box, и в него добавить радиокнопки Radio3 и Radio4.

Чтобы решить проблему, нужно сделать 2 вещи:

1. Установить в IDE Visual Studio у каждого Group Box, куда помещены радиокнопки, свойство Group в True (по умолчанию оно False).

radiogroup02.jpg

2. Любым текстовым редактором вручную отредактировать файл ресурсов *.rc. Если Ваш проект называется testradio, то файл ресурсов будет называться testradio.rc. Когда его откроете, секция описания контролов на форме будет такого вида:

radiogroup03.jpg

Нужно вторую строк GROUPBOX переставить перед CONTROL Radio3, это включит разделение радиокнопок Radio1, Radio2, Radio3 и Radio4 на две группы:

После такой правки группа Radio1/Radio2 будет работать отдельно от группы Radio3/Radio4.

Другой способ решения проблемы — все контролы удалить и разместить их заново в требуемой последовательности (не забываем установить у контролов Group Box свойство Group в True). Причем важен именно порядок добавления контролов, а не место размещения радиокнопок — их можно даже поместить не в область Group Box.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *