include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
QApplication app(argc, argv); //创建QApplication对象app管理应用程序
QWidget *window = new QWidget; //创建一个部件
window->setWindowTitle("Enter Your Age"); //设置部件标题
QSpinBox *spinBox = new QSpinBox; //创建SpinBox
QSlider *slider = new QSlider(Qt::Horizontal); //创建一个水平方向的 QSlider
spinBox->setRange(0, 130); //设置spinBox的值范围
slider->setRange(0, 130); //设置slider的值范围
QObject::connect(spinBox, SIGNAL(valueChanged(int)),
slider, SLOT(setValue(int))); //spinBox的值发生变化时,slider值也跟着变化
QObject::connect(slider, SIGNAL(valueChanged(int)),
spinBox, SLOT(setValue(int))); //slider的值发生变化时,spinBox值也跟着变化
spinBox->setValue(35); //设定spinBox的初始值
QHBoxLayout *layout = new QHBoxLayout; //创建一个水平布局
layout->addWidget(spinBox); //
layout->addWidget(slider); //在布局中添加各个部件
window->setLayout(layout); //设定部件window的布局管理为layout
window->show(); //显示窗体
return app.exec(); //进入程序主循环。。
从上面例子中可以看书QT程序中界面上的任何一个组件,如窗体,SpinBox,Slider等等都是一个部件(widget)。
各个部件间可以用消息和槽联系到一起。
QT中的界面的布局管理是通过布局类来进行管理的。主要有3个重要的布局管理类:
- QHBoxLayout
水平方向排列部件,从左到有。 - QVBoxLayout
垂直方向排列部件,从上到下。 - QGridLayout
把各个部件排列在一个网格中。