Este widget muito simples permite classificar os dias da semana de 1 a 5 valores.
Para já ainda não faz a média mas lá chegaremos.
#include <QApplication>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QSpinBox>
#include <QSlider>
#include <QSpacerItem>
#include <QPushButton>
int main(int argc, char *argv[]){
QApplication app(argc, argv);
QWidget *janela = new QWidget;
janela->setWindowTitle("Exemplo de Layout simples");
//labels
QLabel *texto1 = new QLabel("SEG");
QLabel *texto2 = new QLabel("TER");
QLabel *texto3 = new QLabel("QUA");
QLabel *texto4 = new QLabel("QUI");
QLabel *texto5 = new QLabel("SEX");
QLabel *texto6 = new QLabel("SAB");
QLabel *texto7 = new QLabel("DOM");
//spinboxes
QSpinBox *spin1 = new QSpinBox;
QSpinBox *spin2 = new QSpinBox;
QSpinBox *spin3 = new QSpinBox;
QSpinBox *spin4 = new QSpinBox;
QSpinBox *spin5 = new QSpinBox;
QSpinBox *spin6 = new QSpinBox;
QSpinBox *spin7 = new QSpinBox;
spin1->setRange(1,5);
spin2->setRange(1,5);
spin3->setRange(1,5);
spin4->setRange(1,5);
spin5->setRange(1,5);
spin6->setRange(1,5);
spin7->setRange(1,5);
//sliders
QSlider *slider1 = new QSlider(Qt::Horizontal);
QSlider *slider2 = new QSlider(Qt::Horizontal);
QSlider *slider3 = new QSlider(Qt::Horizontal);
QSlider *slider4 = new QSlider(Qt::Horizontal);
QSlider *slider5 = new QSlider(Qt::Horizontal);
QSlider *slider6 = new QSlider(Qt::Horizontal);
QSlider *slider7 = new QSlider(Qt::Horizontal);
slider1->setRange(1,5);
slider2->setRange(1,5);
slider3->setRange(1,5);
slider4->setRange(1,5);
slider5->setRange(1,5);
slider6->setRange(1,5);
slider7->setRange(1,5);
//spacer
QSpacerItem *spacer1 = new QSpacerItem(400,0);
//button
QPushButton *sair = new QPushButton("&Sair");
//signals and slots
QObject::connect ( sair, SIGNAL(clicked()), &app, SLOT(quit()));
QObject::connect ( slider1, SIGNAL(valueChanged(int)), spin1, SLOT(setValue(int)));
QObject::connect ( slider2, SIGNAL(valueChanged(int)), spin2, SLOT(setValue(int)));
QObject::connect ( slider3, SIGNAL(valueChanged(int)), spin3, SLOT(setValue(int)));
QObject::connect ( slider4, SIGNAL(valueChanged(int)), spin4, SLOT(setValue(int)));
QObject::connect ( slider5, SIGNAL(valueChanged(int)), spin5, SLOT(setValue(int)));
QObject::connect ( slider6, SIGNAL(valueChanged(int)), spin6, SLOT(setValue(int)));
QObject::connect ( slider7, SIGNAL(valueChanged(int)), spin7, SLOT(setValue(int)));
QObject::connect ( spin1, SIGNAL(valueChanged(int)), slider1, SLOT(setValue(int)));
QObject::connect ( spin2, SIGNAL(valueChanged(int)), slider2, SLOT(setValue(int)));
QObject::connect ( spin3, SIGNAL(valueChanged(int)), slider3, SLOT(setValue(int)));
QObject::connect ( spin4, SIGNAL(valueChanged(int)), slider4, SLOT(setValue(int)));
QObject::connect ( spin5, SIGNAL(valueChanged(int)), slider5, SLOT(setValue(int)));
QObject::connect ( spin6, SIGNAL(valueChanged(int)), slider6, SLOT(setValue(int)));
QObject::connect ( spin7, SIGNAL(valueChanged(int)), slider7, SLOT(setValue(int)));
//layouts
QVBoxLayout *layout1 = new QVBoxLayout;
layout1->addWidget(texto1);
layout1->addWidget(texto2);
layout1->addWidget(texto3);
layout1->addWidget(texto4);
layout1->addWidget(texto5);
layout1->addWidget(texto6);
layout1->addWidget(texto7);
QVBoxLayout *layout2 = new QVBoxLayout;
layout2->addWidget(spin1);
layout2->addWidget(spin2);
layout2->addWidget(spin3);
layout2->addWidget(spin4);
layout2->addWidget(spin5);
layout2->addWidget(spin6);
layout2->addWidget(spin7);
QVBoxLayout *layout3 = new QVBoxLayout;
layout3->addWidget(slider1);
layout3->addWidget(slider2);
layout3->addWidget(slider3);
layout3->addWidget(slider4);
layout3->addWidget(slider5);
layout3->addWidget(slider6);
layout3->addWidget(slider7);
QHBoxLayout *layout4 = new QHBoxLayout;
layout4->addLayout(layout1);
layout4->addLayout(layout2);
layout4->addLayout(layout3);
QVBoxLayout *layout5 = new QVBoxLayout;
layout5->addLayout(layout4);
layout5->addWidget(sair);
layout5->addItem(spacer1);
janela->setLayout(layout5);
janela->show();
return app.exec();
}
