Qt-布局管理器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt-布局管理器相关的知识,希望对你有一定的参考价值。
布局管理器方式:这是最好的Qt布局管理方式,它主要提供了4中方式:
(1)水平布局管理器:QHBoxLayout,按水平方向组织窗口组件
(2)垂直布局管理器:QVBoxLayout,按垂直方向组织窗口组件
(3)网格布局管理器:QGridLayout,按二维网格方式组织窗口组件
(4)栈布局管理器:QStackedLayout,按照类似于栈的方式组织窗口组件,在某一时刻只有一个窗口组件是可见的,Qt没有提供对该布局管理器的支持,但是提供了一个栈部件,QStackedWidget,可以使用它来实现栈布局管理器。
#include "stackdlg.h" #include <QHBoxLayout> StackDlg::StackDlg(QWidget *parent) : QDialog(parent) { setWindowTitle(tr("StackedWidget")); list =new QListWidget(this); list->insertItem(0,tr("Window1")); list->insertItem(1,tr("Window2")); list->insertItem(2,tr("Window3")); label1 =new QLabel(tr("WindowTest1")); label2 =new QLabel(tr("WindowTest2")); label3 =new QLabel(tr("WindowTest3")); stack =new QStackedWidget(this); stack->addWidget(label1); stack->addWidget(label2); stack->addWidget(label3); QHBoxLayout *mainLayout =new QHBoxLayout(this); mainLayout->setMargin(5); mainLayout->setSpacing(5); mainLayout->addWidget(list); mainLayout->addWidget(stack,0,Qt::AlignHCenter); mainLayout->setStretchFactor(list,1); mainLayout->setStretchFactor(stack,3); connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int))); } StackDlg::~StackDlg() { }
以上是关于Qt-布局管理器的主要内容,如果未能解决你的问题,请参考以下文章
Qt垂直/水平布局管理器(QBoxLayout,QHBoxLayout, QVBoxLayout)