1、最特别的布局管理器
-
栈式布局管理器(
QStackedLayout
)
— 所有组件在垂直于屏幕的方向上被管理
— 每次只有一个组件会显示在屏幕上
— 只有最顶层的组件会被最终显示
-
栈式布局管理器的特点
— 组件大小一致且充满父组件的显示区
— 不能直接嵌套其它布局管理器
— 能够自由切换需要显示的组件
— 每次能且仅能显示一个部件 -
QStackedLayout
的用法概要
—int addWidget(QWidget* widget)
—QWidget* currentWidget() //返回栈式布局管理器最顶层的部件
—void setCurrentIndex(int index)
—int currentIndex()
最后两个函数:自由切换当前应该显示的组件是哪个
间接嵌套方法:
QHBoxLayout* hlayout = new QHBoxLayout();
QWidget* widget = new QWidget(this);
hlayout->addWidget(&Btn2);
hlayout->addWidget(&Btn3);
widget->setLayout(hlayout);
layout->addWidget(widget);
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>
class Widget : public QWidget
{
Q_OBJECT
protected:
QPushButton Btn1;
QPushButton Btn2;
QPushButton Btn3;
QPushButton Btn4;
void init();
public:
Widget(QWidget *parent = nullptr);
~Widget();