QT从入门到实战x篇_20_其他常用控件介绍(Containers:TabWidget、StackedWidget;InputWidgets;DisplayWidget:QLabel显示文字图片动图)

上篇QT从入门到实战x篇_19_QTableWidget控件(实现类似EXCEL的数据表格;具体的使用方法;QStringList 和QList的使用;int转QString方法)介绍了QTableWidget控件的使用方法,本篇将介绍其他常用控件的使用方法。

首先创建名为“08_OtherControl”的widget程序。

1. Containers


用于包含其他控件的控件

在这里插入图片描述

1.1 Group Box之前已经介绍过-找半天没找到,网上找了一个

QGroupBox为构建分组框提供了支持。分组框通常带有一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。分组框的标题通常在上方显示,其位置可以设置为靠左、居中、靠右、自动调整这几种方式之一。位于分组框之中的窗口部件可以获得应用程序的焦点,位于分组框之内的窗口部件是分组框的子窗口,通常使用addWidget()方法把子窗口部件加入到分组框之中。

#include "mainwindow.h"
#include <QApplication>
 
#include <QObject>
#include <QGroupBox>
#include <QPushButton>
#include <QCheckBox>
#include <QRadioButton>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    QGroupBox *pGroupBox = new QGroupBox(QObject::tr("GroupBox test"));
    QPushButton *pBtn = new QPushButton(QObject::tr("button")) ;
    QCheckBox* pCheckBox = new QCheckBox(QObject::tr("checkbox test"));
    QRadioButton* pRadio = new QRadioButton(QObject::tr("radiobtn test"));
    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(pBtn);
    layout->addWidget(pCheckBox);
    layout->addWidget(pRadio);
    pGroupBox->setLayout(layout);
 
    pGroupBox->setCheckable(true);
    pGroupBox->show();
    return a.exec();

在这里插入图片描述

1.2 Scroll Area


用于界面中无法完全显示时滚动查看整体控件内容

widget中拖入“Scroll Area”后,往其中拖入多个QpushButton后,选择对齐,由于无法完整显示,可以拖动滚动条来查看整个界面。

在这里插入图片描述

1.3 Tool Box


可以用于构建qq聊天界面

在这里插入图片描述

  • 可以通过如下操作添加新的栏目
    在这里插入图片描述
  • 给没一个page中添加内容
    单击对应page的按钮就会展开,添加控件进去,下图中在“朋友”页面中添加了QPushButton的控件
    在这里插入图片描述

    1.4 Tab Widget


    形成下面的界面,具有不同的 Tab页面,每个页面中可以添加不同的内容

在这里插入图片描述

1.5 Stacked Widget


Stacked Widget栈控件可以通过右上角的三角箭头实现不同页面的切换,下图为将上面创建的 “Scroll Area”“Tool Box”“Tab Widget”添加后的图。

在这里插入图片描述
运行之后效果如下:
在这里插入图片描述
可以看到实际运行时是没有三角箭头实现不同页面的切换,这是因为在设计页面的箭头是用于提示的,实际的切换动作,需要一定的按钮来实现。

   //stacked Widget控件的使用

    //设置默认页面
    ui->stackedWidget->setCurrentIndex(0);

    //scrollArea按钮
    connect(ui->btn_scrollArea,&QPushButton::clicked,[=](){

        ui->stackedWidget->setCurrentIndex(0);
    });

    //toolBox按钮
    connect(ui->btn_toolBox,&QPushButton::clicked,[=](){

        ui->stackedWidget->setCurrentIndex(1);
    });

    //tab widget
    connect(ui->btn_tabWidget,&QPushButton::clicked,[=](){

        ui->stackedWidget->setCurrentIndex(2);
    });

运行结果:通过按钮可以实现不同页面的切换,且默认页面为scrollArea
在这里插入图片描述

1.6 Frame


是一个边框,与 widget类似,一般用来进行一些布局或者框架

1.7 MDI Area


未使用过

1.8 Dock Widget


浮动窗口

在这里插入图片描述

2 Input Widgets

在这里插入图片描述

2.1 Combo Box


添加下来框选项

    //下拉框
    ui->comboBox->addItem("benchi");
    ui->comboBox->addItem("baoma");
    ui->comboBox->addItem("baoshijie");

运行结果:
在这里插入图片描述

  • 通过按钮选定指定的下拉框内容

方法1:使用setCurrentIndex()选中下拉框内容

    //通过按钮选中奔驰
    connect(ui->btn_select,&QPushButton::clicked,[=](){

        ui->comboBox->setCurrentIndex(0);
    });

方法2:使用setCurrentText()选中下拉框内容

    //通过按钮选中奔驰
    connect(ui->btn_select,&QPushButton::clicked,[=](){

        ui->comboBox->setCurrentText("benchi");
    });

运行结果:
在这里插入图片描述

2.2 Front Combo Box字体下拉框

2.3 Line Edit单行文本输入框

2.4 Text Edit


多行文本输入框,支持字体的颜色倾斜和加粗

在这里插入图片描述

2.5 Plain Text Edit


也是多行文本输入框,纯文本,不支持字体的颜色倾斜和加粗

2.6 Spin Box数据加减

在这里插入图片描述

2.7 Double Spin Box


double数据类型的 Spin Box

在这里插入图片描述

2.8 Time Edit


显示时间

在这里插入图片描述

2.9 Date Edit日期

在这里插入图片描述

2.10 Data/Time Edit


既有时间又有日期

在这里插入图片描述

2.11 Dial


功能未使用过

2.12 Horizontal/Vertical Scroll Bar


水平和垂直滚动条

在这里插入图片描述

2.13 Horizontal/Vertical Scroll Slider


另一种形式的水平和垂直滚动条

在这里插入图片描述
可以配合spin boxHorizontal/Vertical Scroll Slider组合,形成自定义组合控件,两种同步变化
在这里插入图片描述

2.14 Key Sequence Edit


应该是一个快捷键操作

在这里插入图片描述

3. Display Widget


本部分只对常用的控件 QLabel的使用方法进行介绍。

在这里插入图片描述

3.1 Label


不仅可以用来显示文字,也可以用来显示图片。

  • 添加完资源文件后,选择重新构建,对应的资源文件就可以出现在资源目录下;
  • 如果按照以下方式去添加了图片或者gif之后,界面运行不显示,可以执行以下步骤:清除-->执行qmake-->重新构建-->运行,后即可正常显示资源文件。

添加资源文件后并编译完成后,添加如下代码:

   //在QLabel中显示图片
    ui->lbl_image->setPixmap(QPixmap(":/Image/bufferfly.png"));

除了显示图片,QLabel还可以显示gif动图

    //QLabel中显示gif动态图
    QMovie* movie= new QMovie(":/Image/mario.gif");
    ui->lbl_movie->setMovie(movie);

    //播放动图
    movie->start();

3.2 Progress Bar


进度条显示,可以使用以下代码设置进度条的最大最小及初始值

    //进度条显示设置
    ui->progressBar->setMinimum(0);
    ui->progressBar->setMaximum(100);
    ui->progressBar->setValue(24);

在这里插入图片描述

4. 学习视频地址: QT从入门到实战x篇_20_其他常用控件介绍

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值