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!