|
Pais e Filhos, quer dizer, e Signals/Slots
|
||||||||
|
|
|
Primeira Aplicação ANTERIOR |
Página Inicial |
Um Programa que Faz Alguma Coisa PRÓXIMA |

#include <QApplication> //QObject-QCoreApplication-QApplication
#include <QLabel> //QObject-QWidget-QFrame-QLabel
#include <QPushButton> //QObject-QWidget-QAbstractButton-QPushButton
int main(int argc, char * argv[])
{
QApplication app(argc, argv);
QLabel textinho("Que mané Hello World oq!? Meu nome é Zé Pequeno!");
textinho.resize(400,80);
textinho.setAlignment(Qt::AlignCenter);
QPushButton *botao = new QPushButton("Botão inutil", &textinho);
textinho.show();
app.exec();
}
É, um botão filho de uma label não é lá uma coisa muito útil, mas para exemplificar é o suficiente. Perceba as diretivas #include
tanto para a QLabel quanto para o QPushButton, ambas vem das classes QObject-QWidget.
Observe também que "textinho" é passado como parente do botão pelo endereço (&textinho), já que o parametro "QWidget * parent = 0" da construtora do botão é um ponteiro. Vamos dar uma olhadinha no resultado para este código:

Nossa label funciona, neste caso, como um container armazenando o botão. Note que o botão foi colocado no "local padrão" já que não especificamos nenhuma geometria para ele (canto superior esquerdo), e ao redimensionar a janela como mostrado na figura acima, o botão "tampa" um pedaço do texto da label. Essa é
a forma que, geralmente, iremos dizer quem é mãe de quem. Vamos dar uma olhada nos passos envolvidos na execução do programa:
#include <QApplication> //QObject-QCoreApplication-QApplication
#include <QLabel> //QObject-QWidget-QFrame-QLabel
#include <QPushButton> //QObject-QWidget-QAbstractButton-QPushButton
int main(int argc, char * argv[])
{
QApplication app(argc, argv);
QLabel textinho("Que mané Hello World oq!? Meu nome é Zé Pequeno!");
textinho.resize(400,80);
textinho.setAlignment(Qt::AlignCenter);
QPushButton *botao = new QPushButton("Botão inutil", &textinho);
QObject::connect(botao, SIGNAL(clicked()), botao, SLOT(close()));
textinho.show();
app.exec();
}
|
Mas então você pergunta:
|

|
Primeira Aplicação ANTERIOR |
Página Inicial |
Um Programa que Faz Alguma Coisa PRÓXIMA |