Qt非常Q系列-HelloWorld
由于工作上需要使用C++编写程序,所以有幸接触到Qt,我有一个习惯,开学学习一个新东西的时候,总喜欢在网上查找相关的资料,将它从全局上弄懂、比较后,才选择IDE、类库等工具。可选的IDE有很多(Eclipse For C++、Code::Block、QT Creator)等。其实IDE并不重要,重要的是它有没有强大的类库和技术支持,所以我选择了QT,从它的GUI类、涉及的方方面面(桌面、游戏、移动开发等),加上现在已经完全开源了(采用LGPL)。以后将记录一系列学习过程记录。废话少说。
View Code
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QSlider>
#include <QSpinBox>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *parent=new QWidget;
parent->resize(400,300);
parent->setWindowTitle("abc");
QSlider *sl = new QSlider(Qt::Horizontal);
QSpinBox *sb = new QSpinBox();
sl->setRange(0, 130);
sb->setRange(0, 130);
QObject::connect(sb, SIGNAL(valueChanged(int)), sl, SLOT(setValue(int)));
QObject::connect(sl, SIGNAL(valueChanged(int)), sb, SLOT(setValue(int)));
sb->setValue(35);
// Qt有三个主要的布局管理器:
parent->show();
return a.exec();
}
// QHBoxLayout:水平排列控件。
// QVBoxLayout:垂直排列控件。
// QGridLayout:按矩阵方式排列控件
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(sl);
layout->addWidget(sb);
parent->setLayout(layout);
最后的运行结果为:
容器中一个水平排列着两个控件(Slider和SpinBox),他们的值跟随着对方的改变而改变。