Arquivo de outubro, 2014

Eclipse – Spring Tool Suite – Linux – Java

Publicado: 10 de outubro de 2014 em Java, Linux

O Spring IO é uma plataforma 100% open source, leve e modular que reúne as principais APIs Spring em uma plataforma fundamentalmente coesa e com versão para aplicações modernas. No topo desta fundação também oferece ambientes de execução de domínio específico (DSRs) otimizados para tipos de aplicativos selecionados. Spring IO é composta por camadas de execução, como o Spring IO Foundation e Spring IO Execution layers.

A camada de fundação representa os módulos do núcleo do Spring e dependências de terceiros associados que tenham sido harmonizadas para garantir uma experiência de desenvolvimento suave. As DSRs fornecidos pelo Execution Layer do Spring IO simplificam, drasticamente a construção, as cargas de trabalho baseadas em JVM prontos para produção.

Spring Tool Suite for Eclipse

O Spring Tool Suite é um ambiente de desenvolvimento baseado em Eclipse que é personalizado para desenvolvimento de aplicações Spring. Ele fornece um ambiente de pronto para usar e para implementar, depurar, executar e implantar seus aplicativos Spring, incluindo integrações para Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven, AspectJ, que integram os últimos lançamentos do Eclipse.

Spring IO: http://spring.io/tools/eclipse

Instalando o  Spring Tool Suite Windows

1 – Para instalar o STS abra a sua versão do Eclipse, no menu Help clique em Eclipse Market Place, no campo de pesquisa digite spring e execute a busca, localize a versão do STS para sua versão do Eclipse e clique em Install:

Marketplace - Linux

Marketplace – Linux

2 – Na tela de confirmação aguarde as opções serem carregadas e clique em Confirm:

Comfirmar - Linux

Comfirmar – Linux

3 – Aceite a licença e clique em Finish:

Licença - Linux

Licença – Linux

4 – Pronto, você pode utilizar o Spring Dashboard localizado no menu Help para saber mais e ficar atualizado sobre as novidades do Spring:

STS - Linux

STS – Linux

Você também pode utilizar nossos exemplos Java Enteprise para saber como funciona o Spring.

Eclipse – Spring Tool Suite – Windows – Java

Publicado: 10 de outubro de 2014 em Java

O Spring IO é uma plataforma 100% open source, leve e modular que reúne as principais APIs Spring em uma plataforma fundamentalmente coesa e com versão para aplicações modernas. No topo desta fundação também oferece ambientes de execução de domínio específico (DSRs) otimizados para tipos de aplicativos selecionados. Spring IO é composta por camadas de execução, como o Spring IO Foundation e Spring IO Execution layers.

A camada de fundação representa os módulos do núcleo do Spring e dependências de terceiros associados que tenham sido harmonizadas para garantir uma experiência de desenvolvimento suave. As DSRs fornecidos pelo Execution Layer do Spring IO simplificam, drasticamente a construção, as cargas de trabalho baseadas em JVM prontos para produção.

Spring Tool Suite for Eclipse

O Spring Tool Suite é um ambiente de desenvolvimento baseado em Eclipse que é personalizado para desenvolvimento de aplicações Spring. Ele fornece um ambiente de pronto para usar e para implementar, depurar, executar e implantar seus aplicativos Spring, incluindo integrações para Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven, AspectJ, que integram os últimos lançamentos do Eclipse.

Spring IO: http://spring.io/tools/eclipse

Instalando o  Spring Tool Suite Windows

1 – Para instalar o STS abra a sua versão do Eclipse, no menu Help clique em Eclipse Market Place, no campo de pesquisa digite spring e execute a busca, localize a versão do STS para sua versão do Eclipse e clique em Install:

Marketplace Windows

Marketplace Windows

2 – Na tela de confirmação aguarde as opções serem carregadas e clique em Confirm:

Corfirmar - Windows

Corfirmar – Windows

3 – Aceite a licença e clique em Finish:

Licença - Windows

Licença – Windows

4 – Pronto, você pode utilizar o Spring Dashboard localizado no menu Help para saber mais e ficar atualizado sobre as novidades do Spring:

Spring Dashboard - Windows

Spring Dashboard – Windows

Você também pode utilizar nossos exemplos Java Enteprise para saber como funciona o Spring.

O Apache Maven é uma ferramenta de automação de compilação utilizada primariamente para projetos Java e significa acumulador de conhecimento, foi originalmente projetado como uma tentativa de simplificar os processos de construção do projeto Jakarta Turbine. Se tornando uma forma padrão para construir os projetos, uma definição clara do que o projeto consiste e uma maneira fácil de publicar informações sobre o projeto e também uma forma de compartilhar JARs em vários projetos. O principal objetivo da Maven é permitir que um desenvolvedor compreenda o estado completo de um esforço de desenvolvimento no menor período de tempo.

Maven: http://maven.apache.org/

Instalando o Maven no Windows

1 – Baixe o arquivo compactado contendo a versão atual do Maven, descompacte-o em uma pasta de sua preferencia que tenha haver com a instalação de suas ferramentas. Abra o painel de controle e escolha a opção Sistema, crie uma variável de ambiente chamada MAVEN_HOME e adicione o caminho do diretório do Maven que você está utilizando, veja a figura abaixo:

MAVEN_HOME

MAVEN_HOME

2 – Em seguida altere a variável de ambiente chamada Path e adicione no final do seu conteúdo o seguinte texto: “;%MAVEN_HOME%\bin” (sem as aspas):

Path

Path

3 – Após criar as duas variáveis abra o prompt de comando para verificar a instalação, digite: mvn –version

Maven - Versão instalação pronta

Maven – Versão instalação pronta

Instalação Maven Linux

Para instalar o Maven no sistema operacional Ubuntu, digite os seguintes comandos no terminal do Linux:

sudo apt-get update
sudo apt-get install maven

Para testar a instalação do Maven no Linux abra o terminal e digite: mvn –version

Maven - Linux - Instalação pronta

Maven – Linux – Instalação pronta

Instalando o M2Eclipse – Windows e Linux

O objetivo do projeto m2e é fornecer uma primeira classe de suporte Apache Maven na IDE Eclipse, tornando mais fácil editar o arquivo pom.xml do Maven, executar uma compilação a partir da IDE e muito mais.

M2E: https://www.eclipse.org/m2e/

Para instalar o plugin do Maven no eclipse abra o menu Help e clique na opção Install New Software, digite a url do plugin: http://download.eclipse.org/technology/m2e/releases e aperte a tecla Enter, selecione o plugin do Maven e siga as instruções da tela para finalizar a instalação:

Install New Software

Install New Software

Reinicie a IDE caso solicitado, para testar o plugin crie um novo projeto do tipo Others e digite Maven no campo de pesquisa, você deve estar apto a ver os projetos Maven, isto significa que sua instalação esta completa:

Projetos - Maven

Projetos – Maven

Utilize os exemplos Java EE para saber mais como utilizar o Maven.

 

 

O Apache Tomcat  é um servidor web desenvolvido pela Apache Software Foundation (ASF). O Tomcat implementa o Java Servlet e JavaServer Pages (JSP) especificados pela Oracle, e fornece um ambiente de servidor puro JavaHTTP web para o código Java.

TomCat 8: http://tomcat.apache.org/

Instalando o Apache Tomcat

1 – Após o download do arquivo você precisa instalar o OpenJDK 7, caso ainda não tenha instalado, para isto abra o terminal do Linux e siga os seguintes passos:

sudo apt-get install openjdk-7-jdk
cd Downloads
sudo tar -zxvf apache-tomcat-8.0.14.tar.gz -C /var/local/

Obs: Atente-se para o nome do arquivo compactado, será o nome da pasta gerada na descompactação, mude caso baixe uma versão diferente.

2- Caso não tenha nenhum servidor rodando na porta 8080, pule este passo. Caso tenha um outro servidor web em sua maquina mude as todas portas do arquivo de configuração para que iniciem o valor 9, por exemplo: 9080 e assim por diante, utilize a figura abaixo para referencia:

sudo gedit /var/local/apache-tomcat-8.0.14/conf/server.xml
Mudando as portas

Mudando as portas

3 – Você precisa definir um usuário e senha para que possa acessar as configurações do Tomcat, digite a seguinte linha de comando para alterar o arquivo de usuários:

sudo gedit /var/local/apache-tomcat-8.0.14/conf/tomcat-users.xml
Usuários - XML

Usuários – XML

 
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

4 – Digite o comando a seguir para iniciar o servidor Tomcat:

sudo /var/local/apache-tomcat-8.0.14/bin/startup.sh
Iniciando o servidor

Iniciando o servidor

5 – Abra o seu navegador e digite o seguinte endereço, “localhost:9080“:

Apache Tomcat - Linux

Apache Tomcat – Linux

Você já está apto a criar suas aplicações Java para Web, utilize nossos exemplos para aprender Java EE.

Apache Tomcat – Java Servlet e Java Server Pages

Publicado: 8 de outubro de 2014 em Java

O Apache Tomcat  é um servidor web desenvolvido pela Apache Software Foundation (ASF). O Tomcat implementa o Java Servlet e JavaServer Pages (JSP) especificados pela Oracle, e fornece um ambiente de servidor puro JavaHTTP web para o código Java. Para instalar o Apache Tomcat utilize o link abaixo e baixe a versão com instalador, após o download inicie o instalador com direitos de administrador:

TomCat 8: http://tomcat.apache.org/

Instalando o Apache Tomcat

1 – Na tela de boas vindas clique em next:

welcome

welcome

2 – Na tela de licença escolha a opção I Agree:

Licença

Licença

3 – Na janela de componentes clique em next:

Componentes

Componentes

4 – A janela de configurações permite entre outros parâmetros que você escolha as portas para o servidor web, você precisa ter certeza que não há outro servidor utilizando as mesmas portas, caso não tenha nenhum servidor deixe o valor padrão. Caso possua uma instalação do Oracle XE ou outro servidor web em sua maquina mude as portas como na figura abaixo, digite um usuário e senha para o acessar o painel de gerenciamento do servidor:

Portas (9080)

Portas (9080)

5 – A janela seguinte apontará sua instalação Java, clique em Next:

Java

Java

6 – Escolha o local da instalação e clique em Install:

Local

Local

7 – Aguarde o andamento da instalação:

Andamento

Andamento

8 – Após o termino da instalação deixe as opções de iniciar o servidor e abrir arquivo leia-me marcadas e clique em Finish:

Fim da Instalação

Fim da Instalação

9 – Aguarde a inicialização do servidor, você pode alterar as opções no ícone na barra de tarefas:

Iniciando o servidor

Iniciando o servidor

10 – Para testar abra seu navegador e digite “localhost:9080“:

Apache Tomcat

Apache Tomcat

 

Você já está apto a criar suas aplicações Java para Web, utilize nossos exemplos para aprender Java EE.

O termo Enterprise se refere a organização empresarial corporativa. Na indústria de computadores, o termo é frequentemente usado para descrever qualquer grande organização que utiliza computadores, sistemas operacionais, softwares ou ferramentas de desenvolvimento para o mundo dos negócios. E ao analisarmos o DNA das soluções Enterprise que encontramos nos dias de hoje, sem duvida encontraremos a herança de uma empresa que foi amplamente responsável por tudo que conhecemos, a IBM, empresa pioneira no desenvolvimento de hardware e softwares corporativos.

O principal software corporativo é chamado de Enterprise Resource Planning (ERP) e grande parte de toda infraestrutura e metodologias existentes no universo corporativo prezam garantir que este software funcione perfeitamente desde o inicio da era da computação empresarial. O ERP nasceu de seu antecessor, Manufacturing Resource Planning (MRP) e evoluiram desde os primórdios dos pacote de gerenciamento de banco de dados comercial desenvolvido por Gene Thomas na IBM na década de 1960. Logo os primeiros sistemas ERP foram concebidos como uma ferramenta organizacional e de programação para as empresas industriais. A função da próxima geração de sistemas de software ERP foram estendidos além dos limites do que poderia ser feito para uso interno de uma empresa de fabricação individual e começou a incluir clientes e fornecedores. Não demorou muito para que outras indústrias reconhecessem os benefícios dos sistemas ERP, então as agências governamentais e organizações do setor de serviços também começaram a tirar proveito desta tecnologia.

A evolução se deu dos processos executados em grandes mainframes, como IBM/360 para os processos atuais que gerenciam enormes quantidades de dados em tempo real e são executados em diferentes plataformas transpondo os limites físicos das empresas, permitindo que o processo de trabalho continue sem fronteiras e a qualquer hora, em qualquer lugar.

De onde vem os softwares Enterprise?

Um rápido passeio pela historia das três maiores soluções Enterprise encontradas no mercado de software da atualidade, nos mostram o como foi o inicio dos sistemas corporativos:

A SAP AG criada em 1972 por cinco consultores da IBM que perceberam a possibilidade de criar um pacote de software padrão a ser executado em um mainframe IBM. Em dezoito meses foi criado o sistema R que foi renomeado para R/1, sendo seguido pelo sistema R/2 de duas camadas e logo depois o R/3 apareceu inicialmente no final dos anos 80 quando a IBM lançou sua arquitetura SNA, mas foi decidido trabalhar com Unix no lugar do mainframe IBM e após cinco anos de desenvolvimento, em 1992 o sistema R/3 finalmente foi lançado.

A JD Edwards World Solution Company, foi fundada em março 1977 e era uma empresa de software empresarial, o foco inicial da empresa foi o desenvolvimento de um programa de contabilidade necessário para seus clientes. Seu produto mais popular chamado World era centralizado em servidores, bem como multiusuário; os usuários poderiam acessar o sistema usando um dos vários terminais de computador da IBM ou “telas verdes”. Como um sistema ERP, o JD Edwards World incluía as três áreas básicas de atuação: analista funcional/negócios, desenvolvedor/programador e  administração do sistema.

O Microsoft Dynamics AX foi originalmente desenvolvido como uma colaboração entre a IBM e a dinamarquesa Damgaard Data que resultou no IBM Axapta. O Axapta foi inicialmente lançado em março de 1998, nos mercados dinamarqueses  e norte-americanos. A IBM devolveu todos os direitos sobre o produto para a Damgaard Data logo após o lançamento da versão 1.5 antes da Damgaard Data ser fundida com Navision Software A/S em 2000, a empresa combinada, inicialmente Navision Damgaard, depois Navision A/S, foi adquirida pela Microsoft em julho de 2002 e em setembro de 2011, a Microsoft anunciou o lançamento da versão nova AX 2012.

Hoje a IBM não possui uma solução de ERP mas ela endossa através de suas alianças poderosas soluções em conjunto com a SAP e Oracle:

IBM ERP Alliance: http://www.ibm.com/solutions/alliance/us/en/index/erp.html

????????????????????????????????????????
O que os Softwares Corporativos Podem Fazer?

Unificar os dados como um todo, integrando os sistemas de gestão empresarial, permitindo a centralização de todo o negócio em uma única fonte, pois são desenvolvidos para atender às necessidades das diferentes áreas de uma empresa.

As varias ferramentas oferecem aos seus gestores um maior controle sobre suas operações e planejamentos, interligando todos os departamentos e se tornando um importante apoio às decisões estratégicas da diretoria, indicando os mercados mais lucrativos no qual pode-se investir.

Como beneficio a empresa passa a obter maior agilidade aos processos e uma maximização de resultados a longo prazo, com a padronização das informações internas consegue-se uma ampla visibilidade dos procedimentos empresariais e uma automação das dinâmicas de apoio. A obtenção de dados em tempo real, possibilita a eliminação das falhas de comunicação entre os setores e um melhor gerenciamento de qualidade de seus produtos ou serviços e também um melhor relacionamento com os seus clientes.

Como é a arquitetura de um software Enterprise?

Os softwares Enterprise geralmente utilizam o topo da tecnologia disponível em termos de hardware. Novos hardwares são construídos para atender as novas exigências que as empresas demandam com o crescimento baseado no beneficio da tecnologia que elas adquirem, sendo assim novos hardwares necessitam de novas versões de softwares e sistemas operacionais para que possam ser controlados, gerando um ciclo de desenvolvimento de tecnologia de ponta.

Os programas Enterprise atuais utilizam uma arquitetura de três camadas, cada camada é auto contida o suficiente de forma que a aplicação pode ser dividida em vários computadores em uma rede distribuída. As camadas são compostas da interface do usuário (Camada de Apresentação ou Servidor de Apresentação); da lógica do negócio (Camada de Negócio ou Servidor de Aplicação) e da camada de banco de dados (Camada de Dados ou Servidor de Dados). Cada camada desta arquitetura é normalmente mantida em um ou mais servidores para tornar-se mais escalonável e independente das demais. Com o mesmo objetivo são utilizadas tecnologias de middleware como, por exemplo, COM, CORBA, Web Services ou RMI. Esta arquitetura tem como características baixos custos de disponibilização, de mudança da base de dados, de mudança na lógica de negócios, eficiente armazenamento e reutilização de recursos.

Três camadas SAP:

R/3 - Três camadas

R/3 – SAP – Três camadas

Três camadas Oracle:

JD Edwards - três camadas

JD Edwards – Oracle – Três camadas

Três camadas Microsoft:

Dynamics - Microsoft - Três camadas

Dynamics – Microsoft – Três camadas

Como funcionam na pratica para desenvolvedores e consultores?

Os softwares corporativos que integram a linha empresarial como já vimos ditam não só a tecnologia de hardware e software mas também o funcionamento de empresas de tecnologia, de desenvolvimento ou consultorias que trabalham com este tipo de solução.

No mercado de softwares corporativos um desenvolvedor em alguns casos também é um tipo de consultor ou especialista, outras profissões que conhecemos no mercado da tecnologia também se enquadram no time de consultores tendo sua própria nomenclatura, os códigos fontes são abertos e podem ser herdados e modificados, porem geralmente tudo que é desenvolvido dentro de um software corporativo pela licença sob o qual ele é gerido é de propriedade da empresa fabricante do software, entretanto é permitindo que consultorias desenvolvam e comercializem módulos adicionais para seus produtos seguindo as melhores praticas de desenvolvimento, implantação e manutenção da empresa detentora da solução.

Os sistemas ERP podem se conectar com qualquer banco de dados topo de linha do mercado e tem como parceiros as empresas fabricantes de cada banco, quando também não é proprietária de uma solução de banco de dados, em ambos os casos os bancos de dados possuem Features exclusivas desenvolvidas para uso com cada um destes sistemas. Os sistemas ERP contam com um dicionário de dados que controla o banco de dados em uso, permitindo que o sistema e os desenvolvedores utilizem uma linguagem única para acesso a dados. Possuem também seu próprio compilador e sua própria linguagem de programação na qual as consultorias podem desenvolver novos módulos ou modificar módulos existentes.

A SAP possui a linguagem Abap, a Oracle utiliza entre outros métodos a linguagem C e a Microsoft a linguagem X++. As empresas terceirizadas também podem desenvolver outros softwares corporativos que se comunicam com o ERP através de um protocolo de comunicação especifico, geralmente utilizando as tecnologias DCOM ou Corba e são nada mais que interfaces para a comunicação entre um sistema proprietário e outro compatível de terceiros através de conexões TCP/IP e podem chamar funções remotas do ERP que são criadas para inserir ou exportar dados garantindo a consistência de dados utilizando a própria regra de negocio do ERP e fornecendo uma maneira para que um programa externo escrito em linguagens como  Java, C, C ++C# ou outras línguas possam também atuar como o cliente ou servidor em uma chamada.

SAP – Abap: Linguagem de programação.

Oracle – JDE: Development Tools.

Microsoft – MorphX: IDE e linguagem X++.

Solutions_key
Como é a Metodologia dos Softwares Enterprise?

Com décadas de experiência no mercado corporativo os softwares empresariais desenvolveram algumas metodologias ao longo dos anos que possibilitam que as empresas utilizem de forma adequada suas soluções, abrangendo todas as fases de um projeto desde a engenharia de software, a definição de escopo, passando pela especificação funcional, design, construção, testes, até chegar à validação, implantação e uso produtivo da solução.

ASAP Methodology: Metodologia ASAP

Oracle Unified Method: Metodologia OUM

Microsoft Dynamics Sure Step methodology: Metodologia MS Sure Step

Falando de modo genérico já que estamos nos referindo a três ótimos softwares empresariais da atualidade, podemos perceber que os três possuem uma arquitetura semelhante que proporciona uma metodologia muito similar para execução de seus projetos, deste modo, segue uma visão geral de um projeto corporativo.

A fase de preparação geralmente é executada por um gerente de projetos e engloba o escopo, estimativas, planejamento inicial do projeto, cronograma, aspectos técnicos, definição de equipe, identificação de riscos e estratégias, planejamento de controle de qualidade e o inicio do projeto.

A fase inicial, já com os recursos definidos em ação, o gerente de projeto e os analistas funcionais devem tratar do levantamento dos processos de negócio, gestão do projeto, mudanças organizacionais, definição dos novos processos de negócio, necessidades e mudanças organizacionais.

Com toda a definição realizada, já na fase de customização e desenvolvimento, entra em cena os consultores especialistas que iniciam a configuração, implementação e o desenvolvimento das definições funcionais que entre elas estão a configuração base, a configuração final, desenvolvimento de programas, implementação de interfaces, testes unitários, testes integrados, documentação de cenários e processos, execução dos treinamentos aos key users e usuários, controle de qualidade e a correção de possíveis erros.

Na fase de pré-produção toda atenção se volta aos detalhes finais como, testes de volume, testes de stress, planejamento da implantação, estratégia de implantação, treinamentos finais e o controle de qualidade.

Com tudo pronto o projeto é finalmente implantado e o sistema é colocado em produção e os retoques finais são a transferência de pré-produção, ajuste da configuração de hardware, ajustes na configuração de software, base de dados, sistema operacional e outros. Só então se inicia os treinamentos finais, suporte aos key-users e usuários e encerramento do projeto.

Ambientes Corporativos

Integrando a metodologia de gestão de projeto os softwares corporativos e suas demais ferramentas são desenvolvidas para utilizar ambientes específicos nos quais tem o intuito de maximizar a eficiência dos métodos de implantação, desenvolvimento, testes, qualidade, treinamento, utilização e gerenciamento dos produtos adquiridos. Cada ambiente possui suas especificações de uso e são utilizados para uma finalidade especifica e devido a eficiência deste modelo outras metodologias também utilizam alguns destes cenários.

Ambientes do SAP:

Alguns dos ambientes SAP

Alguns dos ambientes SAP

Ambientes da Oracle:

Alguns dos ambientes Oracle

Alguns dos ambientes Oracle

Ambientes da Microsoft:

Alguns dos ambientes Microsoft

Alguns dos ambientes Microsoft

Como Desenvolver Suas Próprias Aplicações Enterprise?

As grandes empresas de tecnologia que desenvolvem o hardwaresoftware para o mercado corporativo em sua maioria também desenvolvem ferramentas para desenvolvimento de softwares para empresas terceirizadas, para que estas possam desenvolver seus próprios softwares empresariais ou soluções que complementas as soluções já existentes, entre elas a Oracle, a IBM, a Microsoft e com exceção da SAP que também utilizam em certos casos o Java da Oracle e ferramentas da IBM como a IDE Eclipse. Todas disponibilizam um vasto matérial sobre como desenvolver seus próprios projetos Enterprise, veja os seguintes links:

Microsoft: http://msdn.microsoft.com/en-us/library/ff648951.aspx

Oracle: http://www.oracle.com/technetwork/java/javaee/overview/index.html

IBM: http://www.ibm.com/developerworks/

SAP: Enterprise Learning

O primeiro passo é ter em mente que um software enterprise bem sucedido necessita de hardware adequado, arquitetura e programação adequada, metodologia adequada, consultoria adequada e o mais importante de tudo um grande know-how das regras de negocio das áreas incluídas no escopo de sua solução.

Para utilizar senhas em um campo de edição na linguagem de programação C++ você deve usar o componente LineEdit com sua propriedade echoMode alterada para Password, deste modo o controle altera a visualização dos caracteres comuns para caracteres “*”.

E para exibir um resultado ou mensagem para o usuário você pode utilizar a classe QMessageBox, está fornece uma caixa de diálogo modal para informar o usuário ou para fazer ao utilizador uma pergunta e receber uma resposta.

Campo de senha e Caixa de Menssagem

Campo de senha e Caixa de Menssagem

Qt Creator Design

1 – Crie um projeto no Qt e adicione na tela um Label, um LineEdit e um PushButton, alinhe e mude as propriedades de texto dos widgets como na figura abaixo.

Design

Design

Altere a propriedade do LineEdit chamada echoMode para Password e utilize o código abaixo para completar seu código gerado automaticamente, atente-se que declaramos um método para verificação da senha na definição da classe no arquivo .h e o utilizamos na implementação da classe no arquivo .cpp.

Exemplo:

Neste exemplo criamos um método para verificar a senha no qual o usuário entrará através de uma caixa de edição, será verificado primeiro o tamanho da senha e logo após o conteúdo da senha, visto que este método não pode ser utilizado em um programa funcional, limita-se apenas para o aprendizado de como utilizar mascaras de senha no widget LineEdit e não como trabalhar com senhas em nível profissional.

Para a versão deste programa para C++ Windows MFC: clique aqui.

C++

Classe – arquivo .h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;

    // Cria metodo de verificação de senha
    bool verificaSenha(QString senha);
};

#endif // MAINWINDOW_H

Classe – arquivo .cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

bool MainWindow::verificaSenha(QString senha)
{
    // campo para validar função
    bool correto = true;

    // recupera senha de alguma fonte (apenas teste)
    QString recSenha = "daaberto";

    if ((senha.length() != recSenha.length()) || (senha != recSenha))
    {
        correto = false;
    }

    return correto;
}

void MainWindow::on_pushButton_clicked()
{
    // Verifica senha e exibe resultado

   if (verificaSenha(ui->lineEdit->text()))
   {
       QMessageBox::information(this, tr("Sucesso"),tr("\nSenha verificada com sucesso!\n"));
   }
   else
   {
       QMessageBox::information(this, tr("Erro"),tr("\nSenha invalida, tente outra vez!\n"));
   }
}

Qt – Context Menu – C++ – Linux

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

Um menu de contexto ou um menu pop-up é um menu em uma interface gráfica do usuário (GUI) que aparece em cima de interação do usuário, como uma operação de clique com o botão direito do mouse. Um menu de contexto oferece um conjunto limitado de opções que estão disponíveis no estado atual, ou contexto, do sistema operacional ou aplicativo. Normalmente, as opções disponíveis são as ações relacionadas com o objeto selecionado.

Os menus de contexto foram introduzidos no ambiente Smalltalk do computador Xerox Alto, onde eram chamados menus pop-up. O sistema operacional NEXTSTEP desenvolveu a ideia, incorporando a funcionalidade em que o botão do meio ou o da direita traziam o menu principal na posição do mouse, eliminando a necessidade de mover o ponteiro por toda a tela. Esse menu principal era vertical e mudava de acordo com o texto da operação do sistema.

Menu de Contexto ou Popup Menu

Menu de Contexto ou Popup Menu

Qt Creator – Design

Um menu de contexto em Qt necessita de três elementos básicos são eles: signals, slots e actions, para criar um menu de contexto siga os seguintes passos.

1 – Crie um novo projeto C++ Qt com Widgets e arraste para o formulário, dois componentes Labels e um componente ListWidget e mude suas propriedades de texto e alinhe os Widgets como na figura abaixo:

Qt - Creator - Design

Qt – Creator – Design

2 – Clique no componente ListWidget e mude sua propriedade contextMenuPolicy para CustomContextMenu, agora na aba Signals/Slots Editor adicione um novo Signal para o componente ListWidget com o sinal customContextMenuRequest(QPoint), logo após clique novamente no componente ListWidget e crie um novo Slot para o método customContextMenuRequest(QPoint), utilize a imagem abaixo para referencia:

Signals/Slots

Signals/Slots

3 – Vamos agora criar a ação para o item do menu que acabamos de criar, para isto clique na aba Action Editor e crie uma nova ação e um novo slot para a ação para executar o método chamado triggered():

Action - Menu

Action – Menu

4 – Utilize o código abaixo para completar o código gerado automaticamente e rode o programa.

Exemplo:

Neste exemplo criamos um Signal e um Slot para o componente ListWiget no qual receberá um menu de contexto e também criamos uma ação para que seja executado a opção desejada do menu.

Para a versão deste programa para 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);
 
    // Inicializa lista de opções
    // Adiciona Musicas do album Ten (Pearl Jam)
    QString  musicas[] = {"Once",  "Even Flow", "Alive", "Why Go", "Black",
                         "Jeremy", "Oceans", "Porch", "Garden", "Deep",
                         "Release"};
    for (int i = 0; i < 11; i++)
    {
        ui->listWidget->addItem(musicas[i]);
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}


// Declara Slot para exibir menu de contexto
void MainWindow::on_listWidget_customContextMenuRequested(const QPoint &pos)
{
    QMenu contextMenu(tr("Context menu"), this);

    // Adiciona ação ao menu de contexto
    contextMenu.addAction(ui->actionEscolher_est_M_sica);

    // Cria mais itens sem ações (estetica)
    contextMenu.addAction(new QAction(tr("Item 1"), this));
    contextMenu.addAction(new QAction(tr("Item 2"), this));
    contextMenu.addAction(new QAction(tr("Item 3"), this));
    contextMenu.exec(mapToGlobal(pos));

}

// Declara slot para a ação do item do menu
void MainWindow::on_actionEscolher_est_M_sica_triggered()
{
   ui->label_2->setText("Você clicou na opção: " + ui->listWidget->currentItem()->text());
}

 

 

Qt – Menu – C++ – Linux

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

Em computação um menu é uma lista de opções ou comandos apresentados a um operador por um computador. Os menus são, por vezes, hierarquicamente organizado, permitindo uma navegação através de diferentes níveis da estrutura do menu.  A seleção de um item do menu com uma seta irá expandi-lo, mostrando um segundo menu (o sub menu) com opções relacionadas com a entrada selecionada. É possível adicionar outros componentes ao menu como ícones de imagem, um componente de botões de radio e até mesmos botões de cheque. O menu em alguns sistemas operacionais são localizados na barra de titulo/tarefas no topo do sistema e não no próprio aplicativo.

Qt - Menu

Qt – Menu

Qt Creator – Design

1 – Crie um novo projeto de Widget do Qt, você pode perceber que os componentes Menu, Barra de tarefas e a barra de status já são criados por padrão. Neste primeiro momento vamos utilizar apenas o Widget menu. Você pode clicar diretamente no item do menu e criar os menus digitando os nomes da opções que você precisa, use a figura abaixo para o design do seu menu:

Criando Menu

Criando Menu

2 – Coloque dois Labels no formulário e mude suas propriedades de texto como na imagem do programa logo acima . Para criar os Slots para os eventos de clique do menu você precisa utilizar a aba Action Editor que esta localizada abaixo da área de edição do seu formulário. Clique em cada ação e com o botão direito do mouse escolha a opção Go to Slot:

Menu Actions - Slots

Menu Actions – Slots

Utilize o código abaixo para preencher o código gerado automaticamente e clique em RUN para rodar o programa.

Exemplo:

Neste exemplo criamos o menu em Design Time e criamos um Slot para cada ação do menu, as ações serão responsáveis por nos dizer qual menu foi clicado utilizando um componente Label no centro do formulário.

Para a versão deste programa para 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;
}

void MainWindow::on_actionMenu_1_triggered()
{
   ui->label_2->setText("Você clicou no: Menu opção 1");
}

void MainWindow::on_actionMenu_2_triggered()
{
   ui->label_2->setText("Você clicou no: Menu opção 2");
}

void MainWindow::on_actionMenu3_triggered()
{
    ui->label_2->setText("Você clicou no: Menu opção 3 Sub Menu opção 1");
}
void MainWindow::on_actionMenu_4_triggered()
{
    ui->label_2->setText("Você clicou no: Menu opção 4");
}

 

Qt – Horizontal Slider – C++ – Linux

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

Um Slider é um controle deslizante, também conhecido como Track Bar, é um objeto de interface gráfica (GUI) com o qual o usuário pode definir um valor movendo um indicador, geralmente de uma forma horizontal. Em alguns casos, o usuário também pode clicar em um ponto no controle deslizante para alterar a configuração.

Horizontal Slider - Programa

Horizontal Slider – Programa

Qt Creator – Design

Crie um novo projeto C++ utilizando Widgets e arraste para o formulário três componentes Labels, um componente Horizontal Slider e um PushButton, crie um Slot de mudança de valor para o Slider, um Slot de clique para o PushButton. Use a figura abaixo para a criação do design:

Design

Design

Exemplo:

Neste exemplo criamos um programa que exibe o valor de um Slider em um controle Label através do evento de mudança de valor do Slider e também do clique de um botão.

Para a versão deste programa para 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;
}

void MainWindow::on_horizontalSlider_valueChanged(int value)
{
    ui->label_2->setText("Valor do Slider: " + QString::number(ui->horizontalSlider->value()));
}

void MainWindow::on_pushButton_clicked()
{
    ui->label_3->setText("Clique no botão para selecionar um valor: " +
                          QString::number(ui->horizontalSlider->value()));
}