#include <QtGui/QApplication>
#include "widget.h"
#include <QPushButton>
#include <QSlider>
#include <QSpinBox>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *w=new QWidget;
QSlider *l=new QSlider(Qt::Horizontal);
l->setRange(0,100);
QSpinBox *m=new QSpinBox;
m->setRange(0,100);
QHBoxLayout *b=new QHBoxLayout;
b->addWidget(l);
b->addWidget(m);
w->setLayout(b);
QObject::connect(l,SIGNAL(valueChanged(int)),m,SLOT(setValue(int)));
QObject::connect(m,SIGNAL(valueChanged(int)),l,SLOT(setValue(int)));
w->show();
return a.exec();
}
以上代码改成以下认可运行
#include <QtGui/QApplication>
#include "widget.h"
#include <QPushButton>
#include <QSlider>
#include <QSpinBox>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QSlider l;
l.setRange(0,100);
QSpinBox m;
m.setRange(0,100);
QHBoxLayout b;
b.addWidget(&l);
b.addWidget(&m);
w.setLayout(&b);
QObject::connect(&l,SIGNAL(valueChanged(int)),&m,SLOT(setValue(int)));
QObject::connect(&m,SIGNAL(valueChanged(int)),&l,SLOT(setValue(int)));
w.show();
return a.exec();
}
这两种有什么主要区别,采取第一种有什么突出优点吗?