Qt – RadioButton – isChecked – C++ – Linux

Publicado: 2 de outubro de 2014 em C/C++

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.

Programa - C++

Programa – C++

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.

Qt Creator - Design

Qt Creator – 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");
    }
}
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s