Qt信号和槽机制

QT中使用信号和槽机制实现事件驱动,即用QObject::connect函数将事件与处理函数相对应,原型为inline bool QObject::connect(const QObject *asender, const char *asignal,const char *amember, Qt::ConnectionType atype) const
{ return connect(asender, asignal, this, amember, atype); }

以下例程显示一个滑动杆(slider),和数据感知(spinBox)控件,并设置他们之间的信号机制:

#include <QApplication>
#include <QtGui/QHBoxLayout>
#include <QtGui/QSlider>
#include <QtGui/QSpinBox>

int main(int argc, char *argv[])
{
 QApplication a(argc, argv);
 QWidget *window=new QWidget;
 window->setWindowTitle("Enter Your Age");
 QSpinBox *spinBox=new QSpinBox;
 QSlider *slider=new QSlider(Qt::Horizontal);
 spinBox->setRange(0,130);
 slider->setRange(0,130);

 QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));
 QObject::connect(slider,SIGNAL(valueChanged(int)),spinBox,SLOT(setValue(int)));
 spinBox->setValue(35);

 QHBoxLayout *layout=new QHBoxLayout;
 layout->addWidget(spinBox);
 layout->addWidget(slider);
 window->setLayout(layout);
 window->show();
 return a.exec();
}

你可能感兴趣的:(qt)