布局与QSpinBox和QSlider类

代码:

#include <QApplication>

#include <QHBoxLayout>

#include <QSlider>

#include <QSpinBox>



int main(int argc, char *argv[])

{

    QApplication app(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 app.exec(); }

运行效果:

附加小知识:

1:

运行于KDE下的Qt/X11应用程序的默认风格是Plastique,

运行于GNOME下的应用程序默认的风格是Cleanlooks.

覆盖原有的默认风格,使用-style参数,如./age -style motif使用Motif风格

2:

QHBoxLayout 水平方向,从左到右

QVBoxLayout 竖直方向,从上到下

QGridLayout 把各个窗口部件排列在一个网格中

3:

QWidget::setLayout()函数会在窗口上安装布局管理器,当创建一个需要放进某个布局中的窗口部件时,就没有必要为其显示的指定父对象了,它们会自动成为这个安装了布局的窗口部件的子对象

你可能感兴趣的:(slider)