0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 21

Присвоить значение переменной по нажатию кнопки

02.03.2018, 22:50. Показов 11402. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Помогите, будьте так добры. Пишу некую форму-опросник вида:
"вопрос1 - 4 радиокнопки"
"вопрос2 - 4 радиокнопки"
Кнопки в группах, с этим всё окей
Каждая кнопка должна иметь свой "вес" (пусть будет 1, 2, 3 и 4 для первой, второй, третьей и четвертой кнопок, соответственно)
Вопрос - как можно при нажатии кнопки писать числовое значение в переменную (тот самый "вес" кнопки)?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2018, 22:50
Ответы с готовыми решениями:

Типы переменных (как в Qt присвоить значение переменной типа int строке QString?)
Добрый вечер! Возник вот такой вопрос: Как в Qt присвоить значение переменной типа int строке QString? Кусок кода: QString...

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

По нажатию клавиши нужно присвоить переменной значение
как сказать компьютеру, что по нажатию клавиши нужно присвоить оператору значение, кароче типа этого: //если нажали на кнопку, то...

24
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,348
15.06.2018, 15:23
Студворк — интернет-сервис помощи студентам
М... по теме. Присвоить переменной значение по нажатию кнопки можно так:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
void Widget::press_pbtn_01()
{
    int x = 0;
 
    if(ui->radioButton_1->isChecked()) x = 1;
    if(ui->radioButton_2->isChecked()) x = 2;
    if(ui->radioButton_3->isChecked()) x = 3;
    if(ui->radioButton_4->isChecked()) x = 4;
 
}
Если объектов много, они все засовываются в список вот так:

C++ (Qt)
1
listQRB = findChildren<QRadioButton *>();
и поиск в списке можно осуществить так:

C++ (Qt)
1
2
3
4
5
6
   int x = 0; 
 
    for(int i = 0; i < listQRB.size(); i++)
    {
        if(listQRB.at(i)->isChecked()) x = i;
    }
1
5 / 5 / 1
Регистрация: 05.06.2018
Сообщений: 31
18.06.2018, 10:14
listQRB = findChildren<QRadioButton *>();
Спс, то что нужно работает классно!
0
5 / 5 / 1
Регистрация: 05.06.2018
Сообщений: 31
19.06.2018, 17:13
Пробую теперь применить к своим текстам:
mainwindow.h
C++
1
2
3
4
5
6
7
...
public:
  explicit.......
  ~ MainWi.....
 
QList <QTextEdit *> manytexts;
...
mainwindow.cpp
C++
1
2
3
4
5
6
7
8
9
10
  // повторять сюда из хедера QList <QTex.... наверное уже не надо т.к. паблик?
  for ( int i=1; i < 21; i++ ) {
    QString filename = QApplication::applicationDirPath()+"/textfil"+QString::number(i)+".txt";
    if ( !filename.isEmpty() ) {
      QFile files( filename );
      if ( files.open( QFile::ReadOnly | QFile::Text) ) {
         manytexts.at(i-1)->setText( files.readAll() );
         }
     }
}
... программа неожиданно завершилась. Без "manytexts.at(i-1)->setText( files.readAll() );" работает.
0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,348
20.06.2018, 06:24
У тебя что, и ЛайнЭдитов много?
0
5 / 5 / 1
Регистрация: 05.06.2018
Сообщений: 31
20.06.2018, 09:24
Только текстбоксы, но если вдруг, то должна быть возможность "прикрутить" любой допустимый виджет. Как-то давно делал типа базку данных и юзеры просили создать мильён полей ввода. Для очистки всех полей после записи данных в базу, я использовал немалый список в каком-то смысле повторяющихся операторов. Изучая "плюсы" и Qt Creator хотелось бы расковырять эту фишечку и погонять код в примерах.

Добавлено через 6 минут
"QList is implemented as an array of pointers.." - наверное "цепляет" почти всё.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2018, 09:24

Как изменить значение переменной по нажатию кнопки?
мы создаем такое вот действие по нажатию кнопки: def click(event): но просто так мы не можем менять значения переменных в основной...

Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С
Массив С действительных чисел имеет 5 строк и 11 столбцов. Присвоить значение наименьшего элемента массива переменной М1, номер строки, где...

Как присвоить значение переменной, исходя из значения другой переменной?
Всем привет. Нужна помощь. Есть переменная, например &quot;month&quot; которая может принимать значения от 01 до 12, и переменная...

Как переменной описанной в программе присвоить значение переменной в Conditional Compilation Arguments?
Kak mozhno peremennij opisanoj v programme prisvoit` znachenie peremennoj v Conditional Compilation Arguments??? Eto nado chtoto tipa...

По значению переменной x (названию сезона) присвоить переменной t соответствующее значение и вывести на экран
Дано описание: Type сезон= (зима, весна, лето, осень); Var x: сезон; t: (тепло, жарко, холодно); По значению переменной x (названию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru