Calcular a soma de dois números (Versão Qt)

Mais um exemplo muito simples.

Neste exemplo, para além dos aspetos demonstrados no Hello World![1], apenas realço o seguinte:

  • combinado com um mecanismo de herança pública[2][3], a classe Calculadora, derivada da classe QDialog, recorre a uma lista inicializadora de membros [4].
  • um desses membros, designado por ui, confinado ao espaço de nomes (namespace) Ui, dá acesso a todos os widgets que introduzimos e configuramos graficamente no ficheiro calculadora.ui (form)

Assim já será mais fácil de compreender o código relativo à função membro void on_pushButton_2_clicked(); :

void Calculadora::on_pushButton_2_clicked()
{
    int soma;
    soma = ui->valorA->text().toInt() + ui->valorB->text().toInt();
    ui->soma->setText(QString::number(soma));
}

Por exemplo …

ui->valorA->text().toInt()

… significa que:

  • ui – vou aceder a um objeto(widget) da interface gráfica(ui)
  • valorA –  é o nome que demos ao widget(QLineEdit) onde escrevemos o 1º valor a somar
  • text() – é uma função que devolve o texto (QString) contido no mesmo, ou seja, escrito pelo utilizador
  • toInt() – é apenas uma função que converte esse mesmo texto para o tipo inteiro, uma vez que pretendemos realizar o cálculo da soma

Depois de realizado o cálculo, será necessário recorrer a um processo inverso de forma a fazer aparecer o resultado da soma. Neste caso o valor inteiro é convertido para texto (QString) antes de ser escrito no local destinado ao resultado da operação.

Também podemos fazer tudo numa única linha:

void Calculadora::on_pushButton_2_clicked()
{
    ui->soma->setText(QString::number(ui->valorA->text().toInt() + ui->valorB->text().toInt()));
}

Parece simples não?

Referências:

[1] http://gracianotorrao.com/2013/12/09/hello-world/

[2] http://gracianotorrao.com/2009/02/10/tipos-de-heranca/

[3] http://gracianotorrao.com/2009/01/07/classes-derivadas-a-heranca/

[4] http://gracianotorrao.com/2009/01/07/classes-derivadas-a-heranca/

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s