|
Um Programa que Faz Alguma Coisa
|
||||||
|
|
|
Pais e Filhos, quer dizer, e Signals/Slots ANTERIOR |
Página Inicial |
Tipos de Janela do Qt PRÓXIMA |


//Criação das widgets
WidgetQualquer *um = new WidgetQualquer;
WidgetQualquer *dois = new WidgetQualquer;
//Criação do Layout e adição das widget a serem horizontalizadas
QVBoxLayout *layout = new QVBoxLayout(&mamae);
layout->addWidget(um);
layout->addWidget(dois);
//Exibindo a janela mamae e todos os filhos
mamae.show();
#include <QApplication> //QObject-QCoreApplication-QApplication
#include <QLabel> //QObject-QWidget-QFrame-QLabel
#include <QLineEdit> //QObject-QWidget-QLineEdit
#include <QVBoxLayout> //QObject-QLayout-QBoxLayout-QVBoxLayout
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
//Quem vai armazenar os outros widgets
QWidget janela;
//Criação das widgets
QLineEdit *campoTexto = new QLineEdit;
QLabel *linhas = new QLabel("Digite acima para muda esta frase");
//Quem vai alinhar os 2 widgets criados
QVBoxLayout *layout = new QVBoxLayout(&janela);
layout->addWidget(campoTexto);
layout->addWidget(linhas);
//Fazendo o programa funcionar
QObject::connect(campoTexto, SIGNAL(textChanged(QString)), linhas, SLOT(setText(QString)));
//Exibindo o QWidget janela e todos os filhos
janela.show();
return app.exec();
}
Note, pelas diretivas #include, que as classes QVBoxLayout e as demais (com exceção da QApplication) se diferenciam no momento do pulo do QObject pra QWidget ou QLayout.
A nossa janela container será do tipo QWidget. Em seguida duas widgets são criadas, uma label e um campo de texto (QLineEdit, você já conhece 3 widgets so far!)
. Logo após, o layout é criado "tendo janela como mãe" (na verdade, o layout é criado sabendo pra quem ele vai entregar os filhos), widget são
adicionados ao layout. A função connect é o que faz o programa funcionar. Consultando o Qt Assistant você facilmente descobre quais são
os "SIGNALs padrões" do QLineEdit e os "SLOTs padrões" do QLabel. No caso utilizamos textChanged e setText respectivamente.
Existem mais tipos de layouts, QHBoxLayout, QGridLayout. Eles serão usados nas páginas posteriores. Se você não quiser decidir qual será a janela a qual o layout será aplicado
no momento da sua criação, você poderia criá-lo sem janela mãe, adicionar os widgets, e "entregar à mãe" da seguinte forma: janela->setLayout(layout).
Na próxima página, os três conceitos principais de janelas do Qt: Dialogs, Widgets e MainWindows!!
|
Pais e Filhos, quer dizer, e Signals/Slots ANTERIOR |
Página Inicial |
Tipos de Janela do Qt PRÓXIMA |
Nenhum comentário sobre essa página! Seja o Primeiro!