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

posted on 2013-01-02 10:44  小风儿_xf  阅读(2700)  评论(0编辑  收藏  举报

导航