×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Como criar uma calculadora simples, em Qt

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Tidy wiki text)
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update)
Line 1: Line 1:
[[Category:Lang-Portuguese]][[Category:Qt]][[Category:Code Examples]][[Category:MeeGo]][[Category:Symbian]]
+
{{Archived|language=Lang-Portuguese|timestamp=20120216044749|user=[[User:Hamishwillee|<br />----]]|[[:Category:Qt Quick|Qt Quick]] should be used for all UI development on mobile devices. The approach described in this article (based on {{Qapiname|QWidget}}) is deprecated.}}
{{ArticleMetaData
+
[[Category:Lang-Portuguese]][[Category:QWidget UI]][[Category:Code Examples]][[Category:MeeGo]][[Category:Symbian]]
 +
{{ArticleMetaData <!-- v1.2 -->
 
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 
|devices= Emulator
 
|devices= Emulator
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
+
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
|platform=S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition  
+
|platform= S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
+
|devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) -->
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->  
+
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
+
|signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices.) -->
+
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
|keywords=QString, Push Button, Text Label
+
|keywords= QString, Push Button, Text Label
|language=Lang-Portuguese
+
|language= Lang-Portuguese
|translated-by=[[User:Valderind4]]
+
|translated-by= [[User:Kiran10182]]
|translated-from-title=Creating a simple calculator in Qt for Symbian
+
|translated-from-title= Creating a simple calculator using QWidgets
|translated-from-id=60532 <!-- automated guess -->
+
|translated-from-id= 60532 <!-- automated guess -->
|review-by=<!-- After re-review: [[User:username]] -->
+
|review-by= <!-- After re-review: [[User:username]] -->
 
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 
|update-by= <!-- After significant update: [[User:username]]-->
 
|update-by= <!-- After significant update: [[User:username]]-->
 
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 
|update-timestamp= <!-- After significant update: YYYYMMDD -->
|creationdate=20090912
+
|creationdate= 20090912
|author=[[User:Kiran10182]]
+
|author= [[User:Kiran10182]]
 
}}
 
}}
  
 
==Introdução==
 
==Introdução==
  
Este trecho de código demonstra como criar uma simples calculadora usando [[Qt for Symbian]].
+
Este trecho de código demonstra como criar uma simples calculadora usando [[Qt overview]].
  
 
==Pré-requisitos==
 
==Pré-requisitos==
  
* Baixe e instale a versão atual do Qt para Symbian segundo as instruções [[Qt para Symbian|deste artigo]].
+
* Baixe e instale a versão atual do Qt segundo as instruções [[Qt (Portuguese)|deste artigo]].
  
 
== Design do Layout ==
 
== Design do Layout ==
Line 182: Line 183:
 
*Entrada de algum valor na linha de edição.
 
*Entrada de algum valor na linha de edição.
  
[[Image:Cal001.jpg]]
+
[[File:Cal001.jpg]]
  
 
*Operação decimal também é possível na calculadora.
 
*Operação decimal também é possível na calculadora.
Line 191: Line 192:
 
== Design da UI ==
 
== Design da UI ==
 
=== QtCalculator.ui===
 
=== QtCalculator.ui===
[[Image:QtCalculatorUi.png‎]]
+
[[File:QtCalculatorUi.png‎]]
  
  
Line 320: Line 321:
  
 
* Será mostrada um simples calculadora na tela.
 
* Será mostrada um simples calculadora na tela.
[[Image:QtCalculatorScreenShot.png]]
+
[[File:QtCalculatorScreenShot.png]]
  
 
== Exemplo ==
 
== Exemplo ==
Line 326: Line 327:
  
 
== Feedback ==
 
== Feedback ==
* Se você econtrar algum problema na implementação desta simples calculadora, então por favor escreva seu ''feedback'' na página deste artigo <u>[[Talk:Creating a simple calculator in Qt for S60|Comment page]]</u> (Inglês). Eu tentarei dá o máximo para tentar ajudar você.
+
* Se você econtrar algum problema na implementação desta simples calculadora, então por favor escreva seu ''feedback'' na página deste artigo <u>[[Talk:Creating a simple calculator in Qt|Comment page]]</u> (Inglês). Eu tentarei dá o máximo para tentar ajudar você.
  
 
==Comentário==
 
==Comentário==
 
Código de erro resolvido.
 
Código de erro resolvido.
<!-- Translation --> [[en:Creating a simple calculator in Qt for Symbian]]
+
<!-- Translation --> [[en:Creating a simple calculator using QWidgets]]

Revision as of 07:47, 16 February 2012

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.

Article Metadata

Testado com
Aparelho(s): Emulator

Compatibilidade
Plataforma(s): S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition
Symbian

Artigo
Palavras-chave: QString, Push Button, Text Label
Tradução:
Por kiran10182
Última alteração feita por hamishwillee em 16 Feb 2012

Contents

Introdução

Este trecho de código demonstra como criar uma simples calculadora usando Qt overview.

Pré-requisitos

  • Baixe e instale a versão atual do Qt segundo as instruções deste artigo.

Design do Layout

Arquivo de cabeçalho

Cal.h

#ifndef CAL_H
#define CAL_H
 
#include <QtGui/QWidget>
#include "ui_cal.h"
#include<QString>
#include<QPushButton>
#include<QLineEdit>
#include<QHBoxLayout>
#include<QVBoxLayout>
#include<QFormLayout>
class cal : public QWidget
{
Q_OBJECT
 
public:
cal(QWidget *parent = 0);
~cal();
 
private:
QPushButton *but1;
QPushButton *sub;
QPushButton *mul;
QPushButton *div;
QPushButton *eq;
QFormLayout *lay;
QLineEdit *line;
QString str;
QString str1;
QString ch;
QString strResult;
private slots:
void addi();
void subs();
void mult();
void divi();
void em();
public:
float num;
float num1;
float ans;
};
 
#endif // CAL_H

Código fonte

cal.cpp

#include "cal.h"
 
cal::cal(QWidget *parent)
: QWidget(parent)
{
lay=new QFormLayout(this);
but1=new QPushButton("+",this);
sub=new QPushButton("-",this);
mul=new QPushButton("*",this);
div=new QPushButton("/",this);
eq=new QPushButton("=",this);
line=new QLineEdit(this);
line->setMaxLength(12);
lay->addWidget(line);
lay->addWidget(but1)
lay->addWidget(sub);
lay->addWidget(mul);
lay->addWidget(div);
lay->addWidget(eq);
setLayout(lay);
QObject::connect(but1,SIGNAL(clicked()),this,SLOT(addi()));
QObject::connect(sub,SIGNAL(clicked()),this,SLOT(subs()));
QObject::connect(mul,SIGNAL(clicked()),this,SLOT(mult()));
QObject::connect(div,SIGNAL(clicked()),this,SLOT(divi()));
QObject::connect(eq,SIGNAL(clicked()),this,SLOT(em()));
}
 
cal::~cal()
{
// No need to delete any object that got a parent that is properly deleted.
 
}
void cal::addi()
{
str=line->text();
num=str.toFloat();
ch=but1->text();
line->clear();
}
void cal::subs()
{
str=line->text();
num=str.toFloat();
ch=sub->text();
line->clear();
}
void cal::mult()
{
str=line->text();
num=str.toFloat();
ch=mul->text();
line->clear();
}
void cal::divi()
{
str=line->text();
num=str.toFloat();
ch=div->text();
line->clear();
}
void cal::em()
{
 
 
str1 = line->text();
num1 = str1.toFloat();
if (ch=="+")
{
ans=num+num1;
}
else if(ch=="-")
{
ans=num-num1;
}
else if(ch=="*")
{
ans=num*num1;
}
else if(ch=="/")
{
ans=num/num1;
}
else
{
strResult = strResult.number(ans);
line->setText(strResult);
}
strResult = strResult.number(ans);
line->setText(strResult);
ch="";
}

Captura de tela

  • Entrada de algum valor na linha de edição.

Cal001.jpg

  • Operação decimal também é possível na calculadora.



Design da UI

QtCalculator.ui

QtCalculatorUi.png


Arquivo de cabeçalho

QtCalculator.h

#ifndef QTCALCULATOR_H
#define QTCALCULATOR_H
 
#include <QtGui/QWidget>
#include "ui_QtCalculator.h"
 
class QtCalculator : public QWidget
{
Q_OBJECT
 
public:
QtCalculator(QWidget *parent = 0);
~QtCalculator();
 
public slots:
void Addition();
void Subtraction();
void Multiplication();
void Division();
 
private:
Ui::QtCalculatorClass ui;
};
 
#endif // QTCALCULATOR_H


Código fonte

QtCalculator.cpp

#include "QtCalculator.h"
 
QtCalculator::QtCalculator(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
QObject::connect(ui.plusButton, SIGNAL(clicked()), this, SLOT(Addition()));
QObject::connect(ui.minusButton,SIGNAL(clicked()), this, SLOT(Subtraction()));
QObject::connect(ui.multiplyButton,SIGNAL(clicked()), this, SLOT(Multiplication()));
QObject::connect(ui.divisionButton,SIGNAL(clicked()), this, SLOT(Division()));
}
 
QtCalculator::~QtCalculator()
{
QString strFisrt = ui.lineEditNumber1->text();
QString strSecond = ui.lineEditNumber2->text();
 
bool ok;
int number1 = strFisrt.toInt(&ok);
int number2 = strSecond.toInt(&ok);
int result = number1 + number2;
 
QString strResult;
strResult = strResult.number(result);
ui.lineEditResult->setText(strResult);
}
 
void QtCalculator::Addition()
{
QString strFisrt = ui.lineEditNumber1->text();
QString strSecond = ui.lineEditNumber2->text();
 
bool ok;
int number1 = strFisrt.toInt(&ok);
int number2 = strSecond.toInt(&ok);
int result = number1 + number2;
 
QString strResult;
strResult = strResult.number(result);
ui.lineEditResult->setText(strResult);
}
 
void QtCalculator::Subtraction()
{
QString strFisrt = ui.lineEditNumber1->text();
QString strSecond = ui.lineEditNumber2->text();
 
bool ok;
int number1 = strFisrt.toInt(&ok);
int number2 = strSecond.toInt(&ok);
int result = number1 - number2;
 
QString strResult;
strResult = strResult.number(result);
ui.lineEditResult->setText(strResult);
}
 
void QtCalculator::Multiplication()
{
QString strFisrt = ui.lineEditNumber1->text();
QString strSecond = ui.lineEditNumber2->text();
 
bool ok;
int number1 = strFisrt.toInt(&ok);
int number2 = strSecond.toInt(&ok);
int result = number1 * number2;
 
QString strResult;
strResult = strResult.number(result);
ui.lineEditResult->setText(strResult);
}
 
void QtCalculator::Division()
{
QString strFisrt = ui.lineEditNumber1->text();
QString strSecond = ui.lineEditNumber2->text();
 
bool ok;
int number1 = strFisrt.toInt(&ok);
int number2 = strSecond.toInt(&ok);
int result = number1 / number2;
 
QString strResult;
strResult = strResult.number(result);
ui.lineEditResult->setText(strResult);
}


Conclusões

  • Será mostrada um simples calculadora na tela.

QtCalculatorScreenShot.png

Exemplo

Feedback

  • Se você econtrar algum problema na implementação desta simples calculadora, então por favor escreva seu feedback na página deste artigo Comment page (Inglês). Eu tentarei dá o máximo para tentar ajudar você.

Comentário

Código de erro resolvido.

111 page views in the last 30 days.
×