八、如何实现分割界面及四分屏

关键字:QSplitter、QGridLayout
1、界面设计中经常需要左边是树结构,点击树的节点在右边窗口显示内容,左边和右边的分界线是可以左右移动的,这时就需要用到QSplitter控件,在MainWindow.ui设计中,拖入控件QTreeWidget和一个QWidget控件,QWidget控件为右窗口;
2、同时选中这两个控件,点击右键,选择“Lay out”,再选择“Lay out Horizontally in splitter”;
3、右键点击MainWindow,选择“Lay out”,再选择“Lay out in Grid”;
4、在MainWindow.cpp中添加如下代码:
    ui->splitter->setStretchFactor(1,7);
5、下面我们来实现右边窗口的四分屏,首先右键点击QWidget控件,选择“Lay out”,再选择“Lay out in Grid”;
6、在工程中添加四个界面类Form1、Form2、Form3、Form4,这时工程就增加了form1.h、form1.cpp,form2.h、form2.cpp,form3.h、form3.cpp,form4.h、form4.cpp;
6、在工程中添加一个类Canvas,继承自QWidget,这时工程就多了一个canvas.h和canvas.cpp,这个类用来实现右边窗口的四分屏;
7、canvas.cpp的代码如下:
#include "canvas.h"


Canvas::Canvas(QWidget *parent) : QWidget(parent)
{
    layout = new QGridLayout;


    widget1 = new Form1;
    widget1->setObjectName("widget1");
    widget2 = new Form2;
    widget2->setObjectName("widget2");
    widget3 = new Form3;
    widget3->setObjectName("widget3");
    widget4 = new Form4;
    widget4->setObjectName("widget4");

    vertsplitter1 = new QSplitter;
    vertsplitter2 = new QSplitter;

    hozrsplitter = new QSplitter;

    layoutup &#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值