博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

愿逝者安息 让生者前行 深切哀悼5.12遇难同胞

愿逝者安息 让生者前行 深切哀悼5.12遇难同胞
creatory.cublog.cn


信号链的示例
信号链的示例:
一个信号的产生会引发另一个信号的产生
信号之间可以进行自由关联
#ifndef LCDRANGE_H
#define LCDRANGE_H
#include <QWidget>
class QSlider;
class LCDRange:public QWidget
{
Q_OBJECT
public:
LCDRange(QWidget *parent=0);
int value() const;
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
private:
QSlider *slider;
};
#endif
#include <QLCDNumber>
#include <QSlider>
#include <QVBoxLayout>
#include "lcdrange.h"
LCDRange::LCDRange(QWidget *parent):QWidget(parent)
{
QLCDNumber *lcd=new QLCDNumber(2);
slider=new QSlider(Qt::Horizontal);
slider->setRange(0,99);
slider->setValue(0);
connect(slider,SIGNAL(valueChagned(int)),lcd,SLOT(display(int)));
connect(slider,SIGNAL(valueChanged(int)),this,SIGNAL(valueChanged(int)));//信号关联
QVBoxLayout *layout=new QVBoxLayout;
layout->addWidget(lcd);
layout->addWidget(slider);
setLayout(layout);
}
int LCDRange::value() const
{
return slider->value();
}
void LCDRange::setValue(int value)
{
slider->setValue(value);
}
#include <QApplication>
#include <QFont>
#include <QGridLayout>
#include <QLCDNumber>
#include <QPushButton>
#include <QWidget>
#include "lcdrange.h"
class MyWidget:public QWidget
{
public:
MyWidget(QWidget *parent=0);
};
MyWidget::MyWidget(QWidget *parent):QWidget(parent)
{
QPushButton *quit=new QPushButton("Quit");
quit->setFont(QFont("Times",18,QFont::Bold));
connect(quit,SIGNAL(clicked()),qApp,SLOT(quit()));
QGridLayout *grid=new QGridLayout;
LCDRange *previousRange=0;
for(int row=0;row<4;++row)
{
for(int column=0;column<4;++column)
{
LCDRange *lcdRange=new LCDRange;
grid->addWidget(lcdRange,row,column);
if(previousRange)
connect(lcdRange,SIGNAL(valueChanged(int)),previousRange,SLOT(setValue(int)));
previousRange=lcdRange;
}
}
QVBoxLayout *layout=new QVBoxLayout;
layout->addWidget(quit);
layout->addLayout(grid);
setLayout(layout);
}
int main(int argc,char **argv)
{
QApplication app(argc,argv);
MyWidget wi;
wi.show();
return app.exec();
}

发表于: 2008-04-25 ,修改于: 2008-04-25 20:36,已浏览89次,有评论0条 推荐 投诉


网友评论

发表评论