All pastes #388698 Raw Edit

Miscellany

public cpp v1 · immutable
·published 2007-03-10 07:10 UTC
rendered paste body
#include <QApplication>#include <QFont>#include <QLCDNumber>#include <QPushButton>#include <QSlider>#include <QVBoxLayout>#include <QWidget>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();}