Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 157

Голосовалка на Qt

31.07.2017, 01:04. Показов 835. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите пожалуйста хотел сделать голосовалку.
при нажатие на radioButton должна накапливаться единица (грубо говоря есть вопрос и 2 врянта ответа,да или нет,при каждом нажатие на radioButton добавляется единица в label да или нет, и потом точка с radioButton снимается автоматически(если это вообще возможно)
думал может через цикл while это сделать но не пойму как реализовать это в QT
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_radioButton_clicked()
 
{
 
    if(ui->radioButton->isChecked())
    {
        int c = 1;
 
        ui->label->setText(QString::number(c));
       // ui->label->insert(QString::number(c));
        c = c+1;
 
    }
}
 Комментарий модератора 
Название темы должно начинаться с большой буквы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.07.2017, 01:04
Ответы с готовыми решениями:

Голосовалка
Добрый вечер! кто нибудь может посоветовать как пишется голосовалка к вопросам. Например как здесь Спасибо!

Голосовалка
Уважаемые форумчане! Прошу помочь советом. Дали задание - сделать страничку администратора, где можно будет создавать новые опросы и...

Голосовалка
В общем, нужно как то сделать обработчик голосовалки. На форме две кнопки ДА/Нет и ссылка показать результат голосования, данные должны...

9
34 / 36 / 17
Регистрация: 16.04.2017
Сообщений: 478
Записей в блоге: 4
31.07.2017, 14:15
Глобально объявляешь с (или в классе, где нужно короче)
C++ (Qt)
1
2
3
4
5
6
    
void MainWindow::on_radioButton_clicked()
{
    ++c;
    ui->radioButton->setChecked(false);
}
Включается->увеличивает->сбрасывает radio
0
692 / 464 / 162
Регистрация: 01.10.2015
Сообщений: 1,273
31.07.2017, 23:58
Цитата Сообщение от saqef Посмотреть сообщение
Глобально объявляешь
Уже только за это предложение, без надлежащего обоснования - на костер!
И еще... приведенный вами код сами-то пробовали выполнить?

swswsss, в private-части вашего класса MainWindow объявите два данных-члена, хранящих, соответственно, положительные и отрицательные ответы:

C++ (Qt)
1
2
    int positiveVotes {};
    int negativeVotes {};
На форму логично добавить кнопку "Голосовать", по нажатию которой вызывается слот, анализирующий выбранный пользователем вариант ответа. Наличие подобной кнопки позволяет избежать ситуации, когда первоначальный выбор пользователя был ошибочным - вместо "нет" нажал "да", или наоборот. Проще говоря, можно несколько раз изменить свое мнение до нажатия этой кнопки (для неуверенных или двуличных "типов" ).

Сам слот:
C++ (Qt)
1
2
3
4
5
6
7
void Widget::on_voteButton_clicked()
{
    if (yesButton->isChecked())
        labelPositiveResult->setText(QString::number(++positiveVotes));
    else
        labelNegativeResult->setText(QString::number(++negativeVotes));
}
voteButton - это экземпляр кнопки QPushButton, по нажатию которой (по сигналу clicked) вызывается слот, приведенный выше, labelPositiveResult и labelNegativeResult - лэйблы, в которые выводятся накопленные значения переменных positiveVotes и negativeVotes.

и потом точка с radioButton снимается автоматически(если это вообще возможно)
А зачем? Пусть остается. Если пользователь согласен с указанным вариантом, так он просто "жахнет" кнопку "Голосовать", если не согласен - выберет другой доступный вариант. Не заморачивайтесь.

Для наглядности, небольшой проект: untitled.zip
1
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 157
01.08.2017, 04:17  [ТС]
0x90h,
спасибо
сам вот так по кривому оформил)
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_radioButton_clicked()
 
{
 
    if(ui->radioButton->isChecked())
    {
        QString a = ui->label->text();
        int q = a.toInt();
        q = q+1;
        ui->label->setText(QString::number(q));
        //ui->label->insert(QString::number(c));
 
 
    }
}
0
34 / 36 / 17
Регистрация: 16.04.2017
Сообщений: 478
Записей в блоге: 4
01.08.2017, 10:08
Глобально или нет зависит от кода,который не выложен, и судить что-либо невозможно.
Я не говорил как лучше или хуже.
Была поставлена задача - код её полностью решает.
И он рабочий- только что проверил.
0
692 / 464 / 162
Регистрация: 01.10.2015
Сообщений: 1,273
01.08.2017, 10:20
Цитата Сообщение от saqef Посмотреть сообщение
И он рабочий
ню-ню... если проверять на одном экземпляре QRadioButton, или на нескольких (не образующих группу), положите рядом на форму еще один, чтобы они попали в одну группу, и попробуйте.

In a group of radio buttons, only one radio button at a time can be checked; if the user selects another button, the previously selected button is switched off.
Относительно глобального объявления - оно столь же "необходимо", как и собаке пятая нога, язык предоставляет достаточно возможностей обойтись без оного, тем более для этой задачи.
0
34 / 36 / 17
Регистрация: 16.04.2017
Сообщений: 478
Записей в блоге: 4
01.08.2017, 11:33
Я проверял только на одной кнопке.
0
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 157
01.08.2017, 22:00  [ТС]
а подскажите как связать progressBar и radioButton ну и label чтобы при нажатие плюсовалась единица и полз progressBar ну или тоже самое сделать c horizontalSpacer при нажатие на radioButton
0
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 157
01.08.2017, 22:05  [ТС]
вот
Миниатюры
Голосовалка на Qt  
0
692 / 464 / 162
Регистрация: 01.10.2015
Сообщений: 1,273
02.08.2017, 19:05
Цитата Сообщение от swswsss Посмотреть сообщение
и полз progressBar
A progress bar is used to give the user an indication of the progress of an operation and to reassure them that the application is still running.
The progress bar uses the concept of steps. You set it up by specifying the minimum and maximum possible step values, and it will display the percentage of steps that have been completed when you later give it the current step value. The percentage is calculated by dividing the progress (value() - minimum()) divided by maximum() - minimum().
Этот элемент подразумевает наличие минимального и максимального значения, на основании этих данных и рассчитывается процентное соотношение, а в случае с голосованием, вам заведомо не известен верхний предел. Иными словами, нельзя заранее предсказать, сколько раз произойдет голосование, да и распределение ответов - величина вероятностная. Если в качестве задачи стоит графическое отображение текущего соотношения ответов "да"/"нет", то лучше всего строить график (гистограмму, например). Есть QCustomPlot, или воспользуйтесь Qwt, в конце концов график можно нарисовать самому, QPainter и события отрисовки вам в помощь.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.08.2017, 19:05
Помогаю со студенческими работами здесь

Голосовалка на Delphi
Те, кто смотрел фильм социальная сеть видели в начале онлайн голосовалку facenash.com Как сделать подобное на Дэлфи?

Голосовалка на сайте
Вообщем имею простенькую голосовалку на сайте. Варианты голосования хранятся в таблице БД. Через админку спокойно редактирую данные...

Голосовалка. Расчёт процентов ! C#/VS
Здравствуйте уважаемые гуру C#. Нужна небольшая помощь. Есть "сайт-анкета". В целом всё вроде бы работает. Но есть пара минусов. В конце...

Сетевая, доменная голосовалка
Привет всем! У меня возникла идея сделать голосовалку внутри домена, но не знаю как это реализовать. То есть должен быть некий файл...

Расширенная "голосовалка" с авторизацией
Доброго времени суток! Есть необходимость написать что-то вроде опроса (голосовалки), который будет брать вопросы из базы и ответы...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru