Sem pretensões de maior, este primeiro exemplo apenas permite lançar uma série de elementos gráficos (widgets) de forma completamente desorganizada. Experimentem.
#include <QApplication>
#include <QPushButton>
#include <QLabel>
#include <QSlider>
#include <QSpinBox>
#include <QTimeEdit>
int main(int argc, char *argv[]){
QApplication janela(argc, argv);
QPushButton *hellopushbutton = new QPushButton("Hello PushtButon!");
QLabel *texto = new QLabel("Hello Label!");
QSlider *sliderhorizontal = new QSlider(Qt::Horizontal);
QSlider *slidervertical = new QSlider(Qt::Vertical);
QSpinBox *spinbox = new QSpinBox;
QTimeEdit *hora = new QTimeEdit;
hellopushbutton->show();
texto->show();
sliderhorizontal->show();
slidervertical->show();
spinbox->show();
hora->show();
return janela.exec();
}
Como arrumar isto tudo?
Uma possibilidade seria criarmos uma aplicação que utiliza o seu próprio layout personalizado.
Vejam o exemplo.
#include <QApplication>
#include <QPushButton>
#include <QLabel>
#include <QSlider>
#include <QSpinBox>
#include <QTimeEdit>
#include <QHBoxLayout>
int main(int argc, char *argv[]){
QApplication app(argc, argv);
QWidget *janela = new QWidget;
QPushButton *hellopushbutton = new QPushButton("Hello PushtButon!");
QLabel *texto = new QLabel("Hello Label!");
QSlider *sliderhorizontal = new QSlider(Qt::Horizontal);
QSlider *slidervertical = new QSlider(Qt::Vertical);
QSpinBox *spinbox = new QSpinBox;
QTimeEdit *hora = new QTimeEdit;
QHBoxLayout *linha = new QHBoxLayout;
linha->addWidget(hellopushbutton);
linha->addWidget(texto);
linha->addWidget(sliderhorizontal);
linha->addWidget(slidervertical);
linha->addWidget(spinbox);
linha->addWidget(hora);
janela->setLayout(linha);
janela->show();
return app.exec();
}
Já tem melhor aspecto não?