【Qt】25 布局管理器(四)QStackedLayout 计时器

一、最特别的布局管理器

栈式布局管理器(QStackedLayout)

所有组件在垂直于屏幕的方向上被管理
每次只有一个组件会显示在屏幕上
只有最顶层的组件会被最终显示
【Qt】25 布局管理器(四)QStackedLayout 计时器_第1张图片

栈式布局管理器的特点

组件大小一致且充满组件的显示区
不能直接嵌套其他布局管理器
能够自由切换需要显示的组件
每次能且进行显示一个组件

QStackedLayout的用法概要

int addWidge(QWidget*widget) //加入需要管理的组件
Qwidget*currentWidget()      //栈式布局管理器最顶层的组件
void setCurrentIndex(int index) //初始显示
int currenIndex()

二、编程实验 栈式布局初探 25-1.pro

#include "Widget.h"
#include 
#include  //水平布局管理器对象
#include 
#include 

Widget::Widget(QWidget *parent) : QWidget(parent),
    TestBtn1(this), TestBtn2(this), TestBtn3(this), TestBtn4(this)
{
    initControl();
}

void Widget::initControl()
{
    QStackedLayout* sLayout  = new QStackedLayout();//创建栈式布局管理器
    QHBoxLayout* hLayout = new QHBoxLayout();  //创建栈式布局管理器
    QWidget* widget = new QWidget();           //创建
    TestBtn1.setText("1st Button");
    TestBtn2.setText("2rd Button");
    TestBtn3.setText("3th Button");
    TestBtn4.setText("Test Button 4: D.T.Software");
    TestBtn2.setParent(widget);
    TestBtn3.setParent(widget);

    hLayout->addWidget(&TestBtn2);
    hLayout->addWidget(&TestBtn3);

    widget->setLayout(hLayout);

    sLayout->addWidget(&TestBtn1);
    sLayout->addWidget(widget);
   // sLayout->addWidget(&TestBtn3);
    sLayout->addWidget(&TestBtn4);
    sLayout->setCurrentIndex(1);
    setLayout(sLayout);
  
}

三、计时器的概念

计时器用于每间隔一定的时间触发一个消息;
计时器消息最终会被转化为函数调用;

计时器(QTimer)的使用方法:
1.编写计时器消息处理函数
2.在程序中创建计时器对象
3.连接计时器消息和消息处理函数
4.设置计时器时间间隔并启动计时

四、小结

QStackedLayout以栈的方式管理界面组件
QStackedLayout中的组件最多只有一个显示
QStackedLayout可以自由切换需要显示的组件
QTimer是QT中的计时器组件
QTimer能够在指定的时间间隔触发消息

你可能感兴趣的:(c++)