//幾個widget間通訊
#include <QApplication>
#include <QFont>
#include <QLCDNumber>
#include <QPushButton>
#include <QSlider>
#include <QVBoxLayout>
#include <QWidget>
//建立自定義Widget類
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);
//3位數字
lcd->setSegmentStyle(QLCDNumber::Flat);
//設置LCD數字的顯示樣式
QSlider *slider =
new QSlider(Qt::Horizontal);
slider->setRange(0, 999);
//設置Slider的範圍0-999
slider->setValue(0);
//設置Slider的位置
//quit按鈕負責程序退出
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
//鏈接slider的valueChanged信號和lcd的display槽
connect(slider, SIGNAL(valueChanged(
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();
}