rendered paste body#include <QApplication>#include <QFont>#include <QLCDNumber>#include <QPushButton>#include <QSlider>#include <QVBoxLayout>#include <QWidget>#include <QObject>class Proxy : public QObject{ Q_OBJECT private: int val; public: Proxy() { val=0; } void changeValue (int na) { if (na != val) { val=na; emit valueChange(val); } } public slots: void newValue (int nep) { if (val!=10*nep) { val=10*nep; emit valueChange (val); } } signals: void valueChange (int newVal);};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,99); slider->setValue(0); Proxy *pro = new Proxy; connect(quit, SIGNAL(clicked()), qApp, SLOT(quit())); connect(slider, SIGNAL(valueChanged(int)), pro, SLOT(newValue(int))); connect(pro, SIGNAL(valueChange(int)), lcd, SLOT(display(int))); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(quit); layout->addWidget(lcd); layout->addWidget(slider); setLayout(layout);}int main(int argc, char **argv){ QApplication app(argc, argv); MyWidget widget; widget.show(); return app.exec();}