Orientação a Objetos Programação em C++



Documentos relacionados
Orientação a Objetos - Programação em C++

Universidade Federal do Pará Centro de Tecnologia da Informação e Comunicação Grupo de Trabalho SET. Tutorial PyQT4

Aula 03 PowerPoint 2007

Programação de Computadores I. Conhecendo a IDE Code::Blocks

Universidade Federal de Minas Gerais UFMG Centro de Apoio à Educação a Distância CAED TUTORIAL: Possíveis Métodos para Converter Imagens em PDF

Nota de Aula: Utilização da IDE Code::Blocks

Guia Rápido ClaireAssist

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Prof. Esp. Adriano Carvalho

Como Gerar documento em PDF com várias Imagens

O Primeiro Programa em Visual Studio.net

Microsoft Office PowerPoint 2007

Instalação - SGFLeite 1

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 05: Editores de Imagem Paint / GIMP

Básico, Ferramentas e o Primeiro Programa em Qt

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Microsoft Office Excel 2007

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Delphi 7 Aula 01 Área do Triângulo

V 1.0 LINAEDUCA - GUIA DE USO

Treinamento Excel 2010 Thalles Cezar Montenegro

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

Para começarmos as configurações, primeiramente vamos habilitar o DVR Veicular para o acesso. Clique em Menu e depois entre em Geral.

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Como usar o bluej. Laboratório I Prof.ª Vera Alves

PDFsam. Manual de Operação. Superior Tribunal de Justiça. Fevereiro/2012 versão 01 - Manual montado por Rafael Verlangieri

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

GUIA INTEGRA SERVICES E STATUS MONITOR

TCI S5-USB. Cabo de Programação STEP5 - USB. Manual de Instalação

Manual Instalação Pedido Eletrônico

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Manual de Instalação e Utilização

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Dicas para usar melhor o Word 2007

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Manual do KSnapshot 2

DOWNLOAD DO APLICATIVO: INSTALAÇÃO DO APLICATIVO

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

MANUAL GDS TOUCH. Versão: 1.0 Direitos reservados.

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

Gerando enquêtes para uso em Pocket PCs V

Guia Sphinx: instalação, reposição e renovação

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW

Veja abaixo um exemplo de como os dados são mostrados quando usamos o

Para o OpenOffice Impress, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Software de comunicação MC-SOFT V 2.0

Guia e Utilização do Visual Studio 6.0

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

SIMULADO Windows 7 Parte V

Manual do Atendente. Treinamento OTRS Help Desk

NetBeans. Conhecendo um pouco da IDE

SOFTWARE DE INSTALAÇÃO. Instruções de Instalação

Manual de configuração do sistema

Manual do Usuário. Tag List. Tag List Generator. smar FIRST IN FIELDBUS JUL / 02. Tag-List VERSÃO 1.0 TAGLSTC3MP

Digifort Mobile Manual Version 1.0 Rev. A

PASSO A PASSO MOVIE MAKER

Programação online em Java

2. INSTALAÇÃO E CONFIGURAÇÃO

Persistência de Classes em Tabelas de Banco de Dados

Smart Multi-Loja. Guia de Configuração. Software de Gerenciamento de Balanças. Versão Smart Software de Gerenciamento de Balanças 1/10

Manual do Usuário Android Neocontrol

Acessando a Plataforma de Rastreamento

Para o PowerPoint, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

Guia de Início Rápido

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

ALBUM DE FOTOGRAFIAS NO POWER POINT

Microsoft Windows. Aspectos gerais

Criando Quiz com BrOffice.impress

FCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos

NAPNE / RENAPI. Manual Virtual Keyboard

❶ No Sistema Gênesis, na Aba ESTOQUE

Manual de Utilização Autorizador Web V2

TUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

Guia de geração de arquivos PDF

Traduza textos com um clique, usando o excelente Babylon

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

MANUAL DE UTILIZAÇÃO DO WEBMAIL SBC

Manual de Instalação

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Instalação do SisAlu 1. Apostila de Instalação do SisAlu

Este tutorial está publicado originalmente em

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Lógica de Programação

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS

MANUAL DO USUÁRIO UTILIZAÇÃO DO SOFTWARE PDF 24 CREATOR. Coordenadoria de Tecnologia da Informação

Instalando o Internet Information Services no Windows XP

TCI 7200-U USB-PPI Cable

Informática Básica para o PIBID

Conhecendo o Proteus

Conceitos importantes

Transcrição:

OO - Engenharia de Computação/Eletrônica Orientação a Objetos Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) - Exemplificado no software Qt/Qt Creator Prof. Jean Marcelo SIMÃO Aluno monitor: Fabiano Cezar Domingos

Qt Qt é um framework para desenvolvimento de softwares em C++ para várias plataformas, incluindo dispositivos móveis. Prima pela facilidade da criação de GUIs (Graphical User Interface) e possibilita a utilização de diversos objetos gráficos. É largamente empregado na indústria, sendo utilizado por empresas como Google, HP, NASA, Volvo e Disney. Qt Creator é o ambiente de desenvolvimento ou IDE (Integrated Development Environment) necessário para programar utilizando o Qt.

Qt O Qt é um software pago, mas também possui uma versão open source e gratuita para fins acadêmicos disponível em: http://qt-project.org/downloads Faça o download do framework Qt, ele já contém o ambiente Qt Creator incluso. Escolha o arquivo compatível com o seu sistema operacional. Prefira as versões com instalador online (Online Installer). Nelas é possível escolher qual será o compilador instalado com o programa, como por exemplo o MingW para Windows. Assim, o compilador será configurado automaticamente e não será preciso ajustar manualmente o compilador no Qt Creator.

Online Installer: Escolher compilador Fazendo o Download

Exemplo 01: Introdução

Crie um novo projeto. Exemplo 01

Exemplo 01 Escolha o template Qt Gui Application e clique em Choose.

Criando o Projeto Uma nova janela será aberta e escolha o nome e diretório do projeto. Na aba Details, nomeie a classe como MeuForm e escolha a classe base QWidget.

Criando o Projeto O projeto será criado. O Qt Creator cria 3 arquivos de código automaticamente: meuform.h, meuform.cpp e main.cpp, mais o arquivo de design do formulário, meuform.ui. Basta clicar em Build > Run ou Ctrl+R para executar o código. O formulário MeuForm será mostrado.

Código //meuform.h #ifndef MEUFORM_H #define MEUFORM_H #include <QWidget> namespace Ui { class MeuForm; } class MeuForm : public QWidget { }; Q_OBJECT public: explicit MeuForm(QWidget *parent = 0); ~MeuForm(); private: Ui::MeuForm *ui; #endif // MEUFORM_H //meuform.cpp #include "meuform.h #include "ui_meuform.h MeuForm::MeuForm(QWidget *parent) : QWidget(parent), { ui->setupui(this); } ui(new Ui::MeuForm) MeuForm::~MeuForm() { delete ui; } Códigos gerados automaticamente pelo Qt Creator!

Design do Formulário Para entrar no modo Design de Formulário, dê dois cliques no arquivo meuform.ui ou clique na aba lateral Design.

Design do Formulário Na esquerda, encontra-se a caixa de ferramentas com todos os componentes disponíveis para utilização no Formulário. Para adicionar um botão, clique em PushButton e arraste-o para o Formulário. Adicione também um objeto Label.

Design do Formulário Na parte superior direita, existe uma lista de todos os componentes presentes no formulário e o nome do respectivo objeto. Ela é útil pois o Qt Creator não mostra explicitamente os objetos gráficos como atributos dentro do código da classe MeuForm. Para acessar esses objetos via código e alterar alguma das suas propriedades, utiliza-se o ponteiro Ui::MeuForm *ui existente na classe MeuForm.

Eventos É uma ação externa ao programa, por exemplo: um clique de mouse ou uma tecla pressionada. Quando um evento ocorre, uma determinada função pode ser executada. Para adicionar um evento ao clique do PushButton, clique com o botão esquerdo nele e escolha Go to slot... Selecione o evento clicked().

Eventos Automaticamente será criada uma função que será chamada quando o evento acontecer. O Qt guarda todos os objetos presentes no formulário no ponteiro Ui::MeuForm *ui. Através dele, por exemplo, é possível acessar o objeto label e mudar o seu texto. void MeuForm::on_pushButton_clicked() { labeltext = "Clicou!"; //Convertendo de string do C++ para QString (string do Qt) QString aux = labeltext.data(); ui->label->settext(aux); }

Eventos Quando o usuário clicar no PushButton, o evento ocorrerá e o texto da Label é mudado automaticamente.

Exemplo 02: Calculadora

Exemplo 02 O segundo exemplo busca demonstrar outros recursos do Qt, como o uso de mais de um formulário e outros componentes gráficos. Ele consiste em uma calculadora capaz de realizar as quatro operações básicas: adição, subtração, multiplicação e divisão. O formulário MeuFormPrincipal é criado da mesma maneira feita no Exemplo 1. Ele é composto por 2 LineEdit, 1 Push Button, 1 GroupBox e 4 RadioButton, todos estes encontrados na caixa de ferramentas de Componentes.

Exemplo 02 Após ter criado o MeuFormPrincipal, crie o formulário MeuFormSecundário através do menu File.

Exemplo 02 Selecione o tipo de arquivo Qt Designer Form Class

Exemplo 02 Escolha o template Widget e nomeia a classe como MeuFormSecundario.

Exemplo 02 O MeuFormSecundario é composto por 2 Labels. O usuário irá digitar os dois operandos, selecionar a operação e clicar em Calcular. Em seguida, o MeuFormSecundario será mostrado, contendo o resultado da operação.

//meuformsecundario.h #ifndef MEUFORMSECUNDARIO_H #define MEUFORMSECUNDARIO_H #include <QWidget> #include <string> using namespace std; namespace Ui { class MeuFormSecundario; } class MeuFormSecundario : public QWidget { Q_OBJECT public: explicit MeuFormSecundario(QWidget *parent = 0); ~MeuFormSecundario(); // Método set criado para alterar textos do Form private: void setlabeltext(float n1, float n2, string operation, float result); Ui::MeuFormSecundario *ui; }; #endif // MEUFORMSECUNDARIO_H //meuformsecundario.cpp #include "meuformsecundario.h" #include "ui_meuformsecundario.h" #include <string> #include <sstream> MeuFormSecundario::MeuFormSecundario (Qwidget *parent) : QWidget(parent), { ui->setupui(this); } ui(new Ui::MeuFormSecundario) MeuFormSecundario::~MeuFormSecundario() { delete ui; } void MeuFormSecundario::setLabelText(float n1, float n2, string operation, float result) { } //Concatenando textos stringstream aux; stringstream aux2; //Mudando o texto da label aux << "O resultado da operação de " << operation.data() << " entre " << n1 << " e " << n2 << " é:"; ui->label->settext((aux.str()).data()); //Mudando o texto da label_2 aux2 << result; ui->label_2->settext ((aux2.str()).data());

//meuformprincipal.h #ifndef MEUFORMPRINCIPAL_H #define MEUFORMPRINCIPAL_H #include <QWidget> #include "meuformsecundario.h // meuformprincipal.cpp #include "meuformsecundario.h" #include "ui_meuformsecundario.h" #include <string> #include <sstream> namespace Ui { class MeuFormPrincipal; } class MeuFormPrincipal : public QWidget { Q_OBJECT public: explicit MeuFormPrincipal(QWidget *parent ~MeuFormPrincipal(); private slots: private: }; void on_pushbutton_clicked(); Ui::MeuFormPrincipal *ui; //MeuFormPrincipal agrega um objeto de //MeuFormSecundario MeuFormSecundario * pform; #endif // MEUFORMPRINCIPAL_H = 0); MeuFormPrincipal::MeuFormPrincipal { } (QWidget *parent) : QWidget(parent), ui(new Ui::MeuFormPrincipal) ui->setupui(this); //Adição é a operação default ui->additionradiobutton->setchecked(true); //Criando um novo objeto de FormSecundario pform = new MeuFormSecundario(); MeuFormPrincipal::~MeuFormPrincipal() { } //Fecha o FormSecundario e desaloca memória pform->close(); delete pform; delete ui;

// Continuação meuformprincipal.cpp void MeuFormPrincipal::on_pushButton_clicked() { //Evento de clicar no botão calcular pform->clearfocus(); //Variáveis float auxiliares float num1, num2 = 0.0; //Converter o texto digitado em cada lineedit para float num1 = ui->lineedit->text().tofloat(); num2 = ui->lineedit_2->text().tofloat(); //Realiza soma if(true == ui->additionradiobutton->ischecked()) { pform->setlabeltext(num1, num2, "Adição", num1 + num2); } //Realiza subtração else if(true == ui->subtractionradiobutton->ischecked()) { pform->setlabeltext(num1, num2, "Subtração", num1 - num2); } //Realiza multiplicação else if(true == ui->multiplicationradiobutton->ischecked()) { pform->setlabeltext(num1, num2, "Multiplicação", num1 * num2); } //Realiza divisão else if(true == ui->divisionradiobutton->ischecked()) { pform->setlabeltext(num1, num2, "Divisão", num1 / num2); } Após o usuário clicar no botão Calcular, os dados digitados em cada LineEdit são convertidos em float. A partir de qual RadioButton está selecionado, executa-se a operação desejada e os dados são enviados para o objeto de MeuFormSecundário, que é mostrado na tela. } //Mostra o FormSecundario pform->show(); pform->setfocus();

Referências O Qt é uma biblioteca muito rica e possui vários recursos avançados. Os links a seguir são sugeridos como referência complementar e para o aprofundamento no software em questão: http://qt-project.org/doc/ http://antoniomenezes.net/down/minicursoqt4/oficinaqt4.pdf http://www.hardware.com.br/comunidade/calculadoratutorial/1302622/ Acesso em 30 de março de 2014.