Exemplo de Aplicação Gráfica em C++
A aplicação a seguir cria uma janela com um botão Hello World, que ao ser clicado imprime a mensagem "Hello World". A classe HelloWorld extende a classe Gtk::Window, adquirindo suas características. A função main instancia a janela e executa o programa.hello.h:
hello.cpp:#ifndef HELLO_H#define HELLO_H#include <gtkmm/button.h>#include <gtkmm/window.h>class HelloWorld : public Gtk::Window{public:HelloWorld();virtual ~HelloWorld();protected://Signal handlersvirtual void on_button_clicked();//Member widgetsGtk::Button m_button;};#endif
main.cpp:#include <iostream>#include "hello.h"HelloWorld::HelloWorld(): m_button("Hello World"){set_border_width(10);m_button.signal_clicked().connect(sigc::mem_fun(*this,&HelloWorld::on_button_clicked));add(m_button);m_button.show();}HelloWorld::~HelloWorld(){}void HelloWorld::on_button_clicked(){std::cout << "Hello World" << std::endl;}
#include <gtkmm/main.h>#include "hello.h"int main (int argc, char *argv[]){Gtk::Main kit(argc, argv);HelloWorld helloworld;Gtk::Main::run(helloworld);return 0;}
Compilação Passo a Passo
O compilador de C++ do GCC é o g++.$ g++ hello.cpp -c `pkg-config gtkmm-2.4 --cflags` $ g++ main.cpp -c `pkg-config gtkmm-2.4 --cflags` $ g++ main.o hello.o -o hello `pkg-config gtkmm-2.4 --libs` $ ./helloCaso você não saiba, o efeito da crase em trechos como `pkg-config gtkmm-2.4 --cflags`, é executar um outro programa e "colar" seu resultado na linha de comando, e só então executar o programa chamado no início da linha.
Aperte o botão "Hello World" algumas vezes e veja o resultado.
pkg-config
Retorna informações sobre bibliotecas instaladas no sistema, como parâmetros para linha de comando do gcc, estas informações vêm de arquivos .pc, instalados pelos pacotes lib*-dev. Arquivos .pc costumam ficar em /usr/lib/pkgconfigFaça Você Mesmo: observe a saída de pkg-config e o conteúdo do arquivo .pc da biblioteca gtkmm.
$ pkg-config gtkmm-2.4 --cflags --libs $ cat /usr/lib/pkgconfig/gtkmm-2.4.pc
https://www.youtube.com/watch?v=aYwZ1AgPoZY&feature=related
Tutorial C++ - 12 - Introdução a Classe e Objetos (Em Português)https://www.youtube.com/watch?v=-2xSAk5I-dY
Pascal gtkentry
http://fr.wikibooks.org/wiki/Programmation_GTK2_en_Pascal/GtkEntry
exemplo como tratar float em c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float a;
float b = 0.1;
printf("Digite um numero.: ");
scanf("%f",&a);
fflush(stdin);
printf("A soma e.: %.2f\n",a+b);
system("PAUSE");
return 0;
}
Gtk+ e Math.h http://youtu.be/thl2RCWBOZY
#include <stdlib.h>
#include <gtk/gtk.h>
#include <math.h>
#include <stdio.h>
static void clique (GtkWidget *w, GtkWidget *p);
static void sair (GtkWidget *w, GtkWidget *p);
static void sair (GtkWidget *w, GtkWidget *p)
{
gtk_main_quit();
}
static void clique (GtkWidget *w, GtkWidget *p)
{
int num1=9;
g_printf("O botao foi clicado\n o valor.: %.2f",pow(num,2));
}
int main (int argc, char *argv[])
{
GtkWidget *janela,*botao;
/* Initialize GTK+ */
gtk_init (&argc, &argv);
/* Create the main window */
janela = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (Janela), 8);
gtk_window_set_title (GTK_WINDOW (janela), "Gtk+ e Math.h");
gtk_window_set_position (GTK_WINDOW (janela), GTK_WIN_POS_CENTER);
gtk_widget_realize (janela);
g_signal_connect (janela, "delete-event", G_CALLBACK(sair), NULL);
botao = gtk_button_new_with_label("Clique aqui");
gtk_container_add(GTK_CONTAINER(janela),botao);
g_signal_connect (G_OBJECT (botao), "clicked", G_CALLBACK (clique), NULL);
/* Enter the main loop */
gtk_widget_show_all (janela);
gtk_main ();
return 0;
}
http://homepages.dcc.ufmg.br/~joaoreis/Site%20de%20tutoriais/
Nenhum comentário:
Postar um comentário