Код: Выделить всё
#include <QApplication>
#include <QFont>
#include <QLCDNumber>
#include <QPushButton>
#include <QSlider>
#include <QVBoxLayout>
#include <QWidget>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
QPushButton *quit = new QPushButton(tr("Quit"));
quit->setFont(QFont("Times", 18, QFont::Bold));
QLCDNumber *lcd = new QLCDNumber(3);
lcd->setSegmentStyle(QLCDNumber::Filled);
QSlider *slider = new QSlider(Qt::Horizontal);
slider->setRange(0, 999);
slider->setValue(0);
QPushButton *qdv1 = new QPushButton(tr("50"));
QPushButton *qdv2 = new QPushButton(tr("250"));
QPushButton *qdv3 = new QPushButton(tr("450"));
QPushButton *qdv4 = new QPushButton(tr("750"));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
connect(slider, SIGNAL(valueChanged(int)),
lcd, SLOT(display(int)));
connect(qdv1, SIGNAL(clicked()), slider, SLOT(setValue(50)));
connect(qdv2, SIGNAL(clicked()), slider, SLOT(setValue( 250)));
connect(qdv3, SIGNAL(clicked()), slider, SLOT(setValue(450)));
connect(qdv4, SIGNAL(clicked()), slider, SLOT(setValue(750)));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(quit);
layout->addWidget(lcd);
layout->addWidget(slider);
layout->addWidget(qdv1);
layout->addWidget(qdv2);
layout->addWidget(qdv3);
layout->addWidget(qdv4);
setLayout(layout);
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}по моему мнению при нажатии на кнопки должен двигаться слайдер и меняться число, но ничего не происходит.
изучаю Qt4 по встроенной документации, там есть такое упражнение.