RadioButton
Em computação, um botão de opção ou botão de rádio (Radiobutton) é um elemento de interface gráfica (isto é um componente widget) com dois estados: selecionado (ativado) e não-selecionado (desativado), quando o usuário pressiona um botão do mouse ou uma tecla como espaço. Botões de opção são usados num grupo para apresentar um conjunto limitado de escolhas (duas ou mais) que são mutuamente exclusivas. Deste maneira, quando o usuário seleciona um outro botão no mesmo conjunto, o outro botão já selecionado torna-se automaticamente desativado.
isChecked
É uma função que retorna um valor equivalente ao Checked (marcado) em linguagens de alto nível.
Qt Creator – Design
Escolha um novo projeto Qt Widget Application e adicione ao formulário um 3 Labels, 4 Radiobuttons, 2 LineEdits, 1 TextEdit e um botão. Mude as propriedades de cada componente de acordo com sua preferencia, crie um Slot para cada evento de clique de cada respectivo Widget. Use a imagem abaixo para referencia do design.
Exemplo:
Neste exemplo criamos um grupo de botões de radio que efetua as 4 operações básicas da matemática, usando o evento de item e a verificação do seu estado, neste primeiro exemplo você pode ver que utilizamos as conversões de valores básicas entre os tipos para efetuar os cálculos do programa.
Para a versão deste programa C++ Windows MFC: clique aqui.
C++
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } // Slots para os cliques dos botões de radio void MainWindow::on_radioButton_clicked() { // Verifica estado do botão de radio if (ui->radioButton->isChecked()) { ui->textEdit->insertPlainText("Soma:\n"); } } void MainWindow::on_radioButton_2_clicked() { if (ui->radioButton_2->isChecked()) { ui->textEdit->insertPlainText("Subtração:\n"); } } void MainWindow::on_radioButton_3_clicked() { if (ui->radioButton_3->isChecked()) { ui->textEdit->insertPlainText("Multiplicação:\n"); } } void MainWindow::on_radioButton_4_clicked() { if (ui->radioButton_4->isChecked()) { ui->textEdit->insertPlainText("Divisão:\n"); } } // Slot de clique do botão void MainWindow::on_pushButton_clicked() { // O calculo poderia ser efetuado em uma unica linha de instruções // ṕorem para ficar mais facil de ler preferimos desmenbra-lo // você pode modificar o calculo deixando o programa menor // Variavel para o calculo double valor; if (ui->radioButton->isChecked()) { // Efetua o calculo valor = ui->lineEdit->text().toDouble() + ui->lineEdit_2->text().toDouble(); ui->textEdit->insertPlainText(ui->lineEdit->text() + " + " + ui->lineEdit_2->text() + " = " +QString::number(valor)+"\n"); // Converte valores } if (ui->radioButton_2->isChecked()) { valor = ui->lineEdit->text().toDouble() - ui->lineEdit_2->text().toDouble(); ui->textEdit->insertPlainText(ui->lineEdit->text() + " - " + ui->lineEdit_2->text() + " = " +QString::number(valor)+"\n"); } if (ui->radioButton_3->isChecked()) { valor = ui->lineEdit->text().toDouble() * ui->lineEdit_2->text().toDouble(); ui->textEdit->insertPlainText(ui->lineEdit->text() + " * " + ui->lineEdit_2->text() + " = " +QString::number(valor)+"\n"); } if (ui->radioButton_4->isChecked()) { valor = ui->lineEdit->text().toDouble() / ui->lineEdit_2->text().toDouble(); ui->textEdit->insertPlainText(ui->lineEdit->text() + " / " + ui->lineEdit_2->text() + " = " +QString::number(valor)+"\n"); } }