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