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);




parent
->show();
return a.exec();
}
// Qt有三个主要的布局管理器:
// QHBoxLayout:水平排列控件。
// QVBoxLayout:垂直排列控件。
// QGridLayout:按矩阵方式排列控件
QHBoxLayout *layout = new QHBoxLayout();
layout
->addWidget(sl);
layout
->addWidget(sb);
parent
->setLayout(layout);

   最后的运行结果为:

  容器中一个水平排列着两个控件(Slider和SpinBox),他们的值跟随着对方的改变而改变。

posted @ 2011-04-30 15:03  duson  阅读(648)  评论(2编辑  收藏  举报