创建一个垂直布局管理器QVBoxLayout对象vLayout;函数QVBoxLayout::addWidget()将标签对象label和按钮对象btn放置在该布局管理器vLayout中;最后函数QWidget::setLayout()将把垂直布局管理器vLayout添加到窗口部件对象pWidget中;垂直布局管理器vLayout将上述添加的标签label和按钮btn由上到下依次放在pWidget用户见面中。
#include <QtGui/QApplication> #include <QWidget> #include <QLabel> #include <QPushButton> #include <QVBoxLayout> //垂直布局 int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *pWidget = new QWidget();; QLabel label(pWidget); QPushButton *btn = new QPushButton("Close", pWidget); label.setText("Hello world!"); QVBoxLayout *vLayout = new QVBoxLayout(pWidget); vLayout->addWidget(&label); vLayout->addWidget(btn); pWidget->setLayout(vLayout); //把btn的clicked()信号和窗口pWidget的close()槽关联起来 QObject::connect(btn, SIGNAL(clicked()), pWidget, SLOT(close())); pWidget->show(); return a.exec(); }
运行结果: