Este artigo vai ensinar o básico da programação de interface gráfica Qt para C++, nada menos que a melhor plataforma de desenvolvimento GUI do mundo Linux.
Neste exemplo iremos substituir o rótulo por um simples botão que estará
ligado a um determinado evento, que neste caso terá a função de encerrar o
aplicativo. Um botão é um elemento comum de interface com usuário em toda
plataforma: você clica e algum evento acontece. Em Qt, os botões são
representados pela classe QPushButton, que é uma subclasse de QButton, que
por sua vez é uma subclasse de QWidget, a classe básica de todos os
elementos GUI de Qt.
Na verdade, este exemplo foi criado apenas para lhe ensinar sobre
SINAIS e SLOTS, que é necessário para entender o que acontece nesse
método. Sinais e Slots são usados para a comunicação entre objetos
Qt. Sempre que o botão é clicado ele envia um sinal, neste caso um
sinal clicked(). Este sinal significa mais ou menos assim, "Alguém
me clicou. Façam alguma coisa.", então outros objetos que pertencem
ao programa podem se conectar com o widget para serem avisadas toda
vez que o botão for clicado. Isso é feito através de um slot que tem
a função de responder a um sinal em particular. Sinais e Slots são
conectados através do método QObject::connect(), em que recebe como
parâmetros de entrada o objeto que emite o sinal "&quit", o sinal que
é emitido "SIGNAL(clicked())", o objeto que recebe o sinal "&program"
e o slot onde este sinal é recebido "SLOT(&quit)". Um único sinal pode
estar ligado a vários slots, bem como a recíproca é verdadeira de que
um único slot pode estar escutando vários sinais.
[1] Comentário enviado por luiscarlos em 04/06/2005 - 17:47h
kra, adorei seu artigo, apesar de muito simples, me mostrou como começar com o Qt, tinha tentando a algum mexer nele mas sem sucesso, gostaria se possivel, que fizesse uma segunda arte deste artigo mostrando alguma coisa mais avançada, parabéns pelo artigo, muito bem explicado!!
[2] Comentário enviado por daaugusto em 04/06/2005 - 17:55h
> "nada menos que a melhor plataforma de desenvolvimento GUI do mundo Linux."
Isso só demonstra fanatismo. Eu prefiro a FLTK ao Qt (ou qualquer outro toolkit), por questões de elegância, licença e desempenho em tempo e espaço, e aí?!? Outros preferem o wxWidgets, FOX, Lazarus, Kylix, OpenStep e afins.
É difícil --senão impossível-- traçar um critério objetivo para dizer qual biblioteca/framework é melhor. E, ainda assim, projetos diferentes podem requerer toolkits diferentes, mais apropriados.
[3] Comentário enviado por mpinho em 04/06/2005 - 22:14h
Só uma correção: a Qt para windows já faz um tempo também é GPL para quem desenvolve programas GPL com ela. Só é necessário pagar se o programa for proprietário ou não GPL