qt 常用控件之容器组控件

组件介绍

在这里插入图片描述
group box: 组合框,提供带有标题的组合框框架
Scroll area: 滚动区域
Tool box: 工具箱
Tab Widget: 标签小部件
Stacked Widget: 堆叠部件
Frame : 框架
Widget:小部件
MDI Area: MDI 区域
Dock Widget: 停靠窗体部件
QAxWidget: 封装Flash 的activeX的控件

其中很多在平时的工作中基本用不到,我这边就挑选几个常用的写一下用例了。

group box 用例:

#include "widget.h"
#include <QGroupBox>
#include <QVBoxLayout> //垂直布局
#include <QRadioButton>
#include <QGridLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QGroupBox * box = new QGroupBox(this);
    box->setTitle("组合框");
    QVBoxLayout *lay = new QVBoxLayout();

    QRadioButton *rbtn1 = new QRadioButton("rbtn1");
    QRadioButton *rbtn2 = new QRadioButton("rbtn2");
    QRadioButton *rbtn3 = new QRadioButton("rbtn3");
    lay->addWidget(rbtn1);
    lay->addWidget(rbtn2);
    lay->addWidget(rbtn3);
    box->setLayout(lay);

    QGroupBox * box1 = new QGroupBox(this);
    box1->setTitle("组合框2");
    QVBoxLayout *lay1 = new QVBoxLayout();

    QRadioButton *rbtn11 = new QRadioButton("rbtn1");
    QRadioButton *rbtn21 = new QRadioButton("rbtn2");
    QRadioButton *rbtn31 = new QRadioButton("rbtn3");
    lay1->addWidget(rbtn11);
    lay1->addWidget(rbtn21);
    lay1->addWidget(rbtn31);
    box1->setLayout(lay1);

    QGridLayout *glay = new QGridLayout();
    glay->addWidget(box, 0 ,0,1,1);
    glay->addWidget(box1, 0 ,2,1,1);
    this->setLayout(glay);
}

Widget::~Widget()
{
}


在这里插入图片描述

tab widget

在任务栏里显示添加的标签选项:

#include "widget.h"
#include <QGroupBox>
#include <QVBoxLayout> //垂直布局
#include <QRadioButton>
#include <QGridLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    this->setWindowTitle("标签部件");
    this->setGeometry(300,200,600,400);
    tab_ui = new QTabWidget(this);
    tab_ui->setGeometry(20,20,500,300);
    tab_ui->show();
    QWidget *w1 = new QWidget();
    tab_ui->addTab(w1 , "进程");
    QWidget *w2 = new QWidget();
    tab_ui->addTab(w2 , "性能");
}

Widget::~Widget()
{
}


在这里插入图片描述
标签显示出来之后可以来回点击切换。

QDockWidget

QDockWidget 充当该 widget 的包装器。注意:调用这个函数之前必须为 widget 添加布局,否则它将不可见,而且如果此时 QDockWidget 已经可见了,那我们必须显式地 widget->show()

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDockWidget>
#include <QLabel>
#include <QVBoxLayout>
#include <QGridLayout>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QDockWidget *dwt = new QDockWidget("test" ,this);



    QLabel *lab = new QLabel("标签1");
    QLabel *lab1 = new QLabel("标签2");
    QVBoxLayout *bx = new QVBoxLayout();
    bx->addWidget(lab);
    bx->addWidget(lab1);

    QWidget *wdt = new QWidget();
    wdt->setLayout(bx);
    dwt->setWidget(wdt);

    dwt->setMaximumSize(300,300);
}

MainWindow::~MainWindow()
{
    delete ui;
}


在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值