Qt学习之路17--布局管理器之向导界面

前前后后学习了四种布局管理器了,分别是盒子布局管理器QBoxLayout、网格布局管理器QGridLayout、表单布局管理器QFormLayout、栈式布局管理器QStackedLayout。

练习

可以通过这四种布局管理器实现一个向导界面,向导界面的作用就不用多说了吧,在电脑上装过软件的人都接触过,下一步、下一步、下一步、完成。向导界面就是用来指引用户操作的。
练习要求:在同一个界面上展现不同的向导页面;通过点击上一步或下一步进行页面切换;不同页面上的组件及组件排布都不相同;页面上的组件排布需要将四种布局管理器都用上。
这里写图片描述
直接通过图示展现我们需要做的以及如何做。
- 在界面整体使用QVBoxLayout管理QStackedLayout和QHBoxLayout,其中QHBoxLayout管理两个按钮,通过点击按钮设置QStackedLayout的currentIndex值达到显示不同页面的效果。
- QStackedLayout用来管理几个需要显示的页面。
这里写图片描述
- 之前在使用QStackedLayout时候也实现过,通过中间组件QWidget进行子组件管理,最后使用QStackedLayout对中间组件QWidget进行管理,这样就能形成一个丰富多样的向导页面。
- 这是因为任意的容器类都可以指定布局管理器,并且同一个布局管理器里面的组件拥有相同的父组件,这样在管理布局管理器的时候也就隐式的指定了父子关系,所以我们就能在QStackedLayout中使用多个页面的父组件作为其子组件进行管理。

上代码:

所需组件准备


    QPushButton preBtn;
    QPushButton nextBtn;
    QStackedLayout sLayout;//栈式布局管理器

    //界面所需组件
    QLabel label[4];
    QLineEdit edit[3];
    QLabel text;
    QPushButton Btn[3];

    QWidget* get1stpage();//返回子页面所在父组件
    QWidget* get2ndpage();
    QWidget* get3rdpage();

private slots:
    void OnPreBtnClicked();//与向导按钮关联的槽函数
    void OnNextBtnClicked();

页面1:

QWidget* Widget::get1stpage()
{
    QWidget* ret
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值