Russian Qt Forum
Ноябрь 01, 2024, 06:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QRadioButton  (Прочитано 4414 раз)
libertas
Гость
« : Март 27, 2014, 14:51 »

Всем привет.
У меня на форму вынесены три группы, в каждой по три значения QRadioButton. В этих группах я хочу задавать приоритет потоков.

Как мне можно занести значения радио кнопок в массив, который потом использовать для задания приоритета потока в функции CreateThread.

То есть я не понимаю, как мне проинициализировать массив prior[] значения радио баттонов на форме?

Спасибо.
Записан
Bepec
Гость
« Ответ #1 : Март 27, 2014, 15:06 »

QButtonGroup.
Записан
libertas
Гость
« Ответ #2 : Март 27, 2014, 19:50 »

Спасибо. Я сделал так:

массив для хранения приоритетов:

int prior[3];

и установка приоритета для потока в зависимости от выбранной радио баттон:

Код:
void MainWindow::on_Low_clicked()
{
    prior[0] = THREAD_PRIORITY_BELOW_NORMAL;
}

void MainWindow::on_Normal_clicked()
{
    prior[0] = THREAD_PRIORITY_NORMAL;
}

void MainWindow::on_High_clicked()
{
    prior[0] = THREAD_PRIORITY_ABOVE_NORMAL;
}
Записан
Alexu007
Гость
« Ответ #3 : Март 28, 2014, 08:28 »

Это как то не кошерно, для каждого радиобутона отдельная функция. Я делал по другому: навешивал на все радиобутоны один обработчик клика, а в нем уже:
Код
C++ (Qt)
void Widget::MyEventRadioButtons()
{
   if(ui->radioButton_1->isChecked() == true) gfp->brate = 128;
   if(ui->radioButton_2->isChecked() == true) gfp->brate = 160;
   if(ui->radioButton_3->isChecked() == true) gfp->brate = 192;
   if(ui->radioButton_4->isChecked() == true) gfp->brate = 224;
   if(ui->radioButton_5->isChecked() == true) gfp->brate = 256;
   if(ui->radioButton_6->isChecked() == true) gfp->brate = 320;
}
Записан
libertas
Гость
« Ответ #4 : Март 28, 2014, 12:11 »

ну да, я тоже так думал. У меня радиобаттон находились в QGroupBox и событие для QGroupBox - clicked не давали результата.

А как Вы обработчик на весели на все радиобаттоны?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4746



Просмотр профиля WWW
« Ответ #5 : Март 28, 2014, 13:04 »

кошерно будет через QSignalMapper
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
libertas
Гость
« Ответ #6 : Март 28, 2014, 13:19 »

Ок, спасибо!
Записан
Alexu007
Гость
« Ответ #7 : Март 28, 2014, 16:34 »

А как Вы обработчик на весели на все радиобаттоны?


Код
C++ (Qt)
   QObject::connect(ui->radioButton_1, SIGNAL(clicked()), this, SLOT(MyEventRadioButtons()));
   QObject::connect(ui->radioButton_2, SIGNAL(clicked()), this, SLOT(MyEventRadioButtons()));
   QObject::connect(ui->radioButton_3, SIGNAL(clicked()), this, SLOT(MyEventRadioButtons()));
   QObject::connect(ui->radioButton_4, SIGNAL(clicked()), this, SLOT(MyEventRadioButtons()));
   QObject::connect(ui->radioButton_5, SIGNAL(clicked()), this, SLOT(MyEventRadioButtons()));
   QObject::connect(ui->radioButton_6, SIGNAL(clicked()), this, SLOT(MyEventRadioButtons()));
 

При клике мышой на любой radioButton вызывается один для всех обработчик MyEventRadioButtons(), в котором и делаем необходимые действия.
Записан
libertas
Гость
« Ответ #8 : Март 29, 2014, 14:25 »

Понятно, спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.209 секунд. Запросов: 23.