首页 > 代码库 > Qt垂直/水平布局管理器(QBoxLayout,QHBoxLayout, QVBoxLayout)
Qt垂直/水平布局管理器(QBoxLayout,QHBoxLayout, QVBoxLayout)
1.解释
QBoxLayout:可以在水平方向或垂直方向上排列控件,由QHBoxLayout、QVBoxLayout所继承。
QHBoxLayout:水平布局,在水平方向上排列控件。
QVBoxLayout:垂直布局,在垂直方向上排列控件。
同时我们注意到水平布局、垂直布局除了构造时的方向(LeftToRight、TopToBottom)不同外,其它均相同。
2.示例代码
2.1QHBoxLayout, QVBoxLayout实现
1 #include "widget.h" 2 #include <QApplication> 3 #include <QPushButton> 4 #include <QHBoxLayout> 5 #include <QVBoxLayout> 6 7 int main(int argc, char *argv[]) 8 { 9 QApplication a(argc, argv);10 Widget w;11 w.setWindowTitle("My App");//设置窗口标题12 13 //创建3个Button14 QPushButton *button1 = new QPushButton("one");15 QPushButton *button2 = new QPushButton("two");16 QPushButton *button3 = new QPushButton("three");17 18 QHBoxLayout *hlayout = new QHBoxLayout;//创建一个水平布局管理器19 //将button加入水平布局器20 hlayout->addWidget(button1);21 hlayout->addWidget(button2);22 hlayout->addWidget(button3);23 24 QVBoxLayout *vlayout = new QVBoxLayout;//创建垂直布局器25 //将button加入垂直布局器26 vlayout->addWidget(button1);27 vlayout->addWidget(button2);28 vlayout->addWidget(button3);29 30 w.setLayout(hlayout);//将水平布局器加入主窗口31 //w.setLayout(vlayout);//将垂直布局器加入主窗口32 33 w.show();34 35 return a.exec();36 }
2.2Functions
. setMargin(int)可以设置左、上、右、下的外边距,设置之后,他们的外边距是相同的。
. setContentsMargins(int left, int top, int right, int bottom)与其功能相同,但是可以将左、上、右、下的外边距设置为不同的值。
. setContentsMargins(const QMargins &margins) 设置外边距(同上)
. setSpacing(int) 间距设置
. addStretch()添加了一个伸缩空间(QSpacerItem)。
. setStretchFactor(QWidget *w, int stretch) , setStretchFactor(QLayout *l, int stretch) 设置控件、布局的拉伸系数
Qt垂直/水平布局管理器(QBoxLayout,QHBoxLayout, QVBoxLayout)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。