Qt里的基本控件->下

目录

一、显示控件(DisplayWidgets)

1、Lable

1.1、Lable的作用

1.2、lable通过setText设置文字内容

1.3、lable通过setPixmap设置图片

1.4、lable通过setMovie设置gif图片

2、textbrowser

2.1、textbrowser介绍

2.2、textbrowser设置文字

2.3、 textbrowser显示图片

3、LCD number

3.1、LCD number介绍

4、progressBar

二、容器控件

1、QGroupBox

2、scrollArea

3、toolBox

4、tabWidget

5、stackedWidget

6、qFrame

7、qWidget

 8、mdiArea

9、dockwidget

三、列表控件(Item Widget)

1、listWIdget

 2、treewidget

3、tableWidget


QT里的基本控件->上_small建攻的博客-CSDN博客

一、显示控件(DisplayWidgets)

1、Lable

1.1、Lable的作用

        lable的作用用来显示一些文字或者用来贴图

1.2、lable通过setText设置文字内容

ui->label->setText("这里是设置的文本的内容");

1.3、lable通过setPixmap设置图片

QPixmap mImage=QPixmap(":/new/prefix1/7FL7%M{E(V%PYS03NMDWK4C.png");//这个是图片从资源中设置的路径
ui->label->setScaledContents(true);//设置可以缩放
ui->label->setPixmap(mImage);

1.4、lable通过setMovie设置gif图片

QMovie *m = new QMovie(":/new/prefix1/QQ图片20220113180431.gif");
ui->label->setMovie(m);
m->start();//这个一定要有不然gif是不会显示的
/*QMovie中有个stop()函数可以让gif暂停具体可查帮助*/

效果展示:

  

2、textbrowser

2.1、textbrowser介绍

        textbrowser提供了一个带有超文本导航的富文本浏览器,可加图片,也可以编辑文字,用来显示内容

2.2、textbrowser设置文字

ui->textbrowser->setText("这里是设置的文本的内容");
ui->textbrowser->append("这里是换行添加");

2.3、 textbrowser显示图片

        textbrowser里面添加图片会用HTML很麻烦的添加方式一般还是文字用的多

3、LCD number

3.1、LCD number介绍

        它是显示液晶字体的数字,但是设置大小,将其在窗口中

        

         LCD number一般的使用

ui->lcdNumber->display(QTime::currentTime().toString("hh:mm:ss"));

        可以是整数,小数,字符串

4、progressBar

        进度条的显示,关联滚动条,根据progressBar来进行移动的

常用的几个:

setMaximum(int)设置最大值
setValue(int)设置值
setMinimum(int)设置最小值

二、容器控件

1、QGroupBox

        QGroupBox为构建分组提供了支持,通常包含一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。

                                

 2、scrollArea

        QScrollArea 提供了一个滚动视图到另外一个部件,滚动区域用于显示一个画面中的子部件的内容。如果部件超过画面的大小,视图可以提供滚动条,这样就都可以看到部件的整个区域 。

        开始是不会显示出来得要自己设置这两个垂直滚动条和水平滚动条

        

 代码使用:

QLabel *pImageLable = new QLabel(this);
pImageLable->setPixmap(QPixmap("图片路径"));
ui->scrollArea->setWidget(pImageLable);

3、toolBox

        QToolBox类提供了一个选项卡式的条目。QToolBox可以在一个tab列上显示多个Item,并且当前的 item显示在当前的tab下面。每个tab都在tab列中有一个索引位置。tab的item是一个QWidget,类似QQ好友栏得显示

                        

 代码插入:

QPushButton*pushButton=new QPushButton(this);
ui->toolBox->insertItem(3,pushButton,"按钮内容");
在第三个位子插入一个pushbutton

 4、tabWidget

        QTabWidget类提供了一系列的Tab选项卡的切换,每个选项卡下有自己的控件;原理和toolBox一样, 类似任务管理器 

                 

 5、stackedWidget

        QStackedWidget理解为层叠窗口(堆栈窗口),提供了多页面切换的布局,每个选项卡下有自己的控 件, StackedWidget类提供了多页面切换的布局,一次只能看到一个界面。

        在写代码的时候点下面剪头指向处也能切换,控件还是直接拖动上面去就好

                                 

ui->stackedWidget->setCurrentIndex(0); //从0开始数,要第几页就是几

6、qFrame

        QFrame类是带有边框的部件的基类。它的子类有我们最为常用的标签部件QLabel,另外还有 QLCDNumber、QSplitter、QStackedWidget、QToolBox和QAbstractScrollArea类。带边框部件最主 要的特点就是可以有一个明显的边界框架。Frame类的主要功能也就是用来实现不同的边框效果,这主 要是由边框形状(Shape)和边框阴影(Shadow)组合来形成的。

 7、qWidget

        QWidget类是所有用户界面对象的基类被称为基础窗口部件它可以作为其他部件 的容器QWidget继承自 QObject类和QPaintDevice类其中QObject类是所有支持Qt 对象模型(Qt Object Model)的Qt对象的 的基类,QPaintDevice类是所有可以绘制的对象的基类。         

 8、mdiArea

        QMdiArea一般使用于主窗口中,用于容纳多个子窗口

                

9、dockwidget

        QDockWidget类类似理解为悬浮(停靠)窗口,提供了一个特殊的窗口部件,它可以是被锁在 QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。只能使用minwindow类才有,详细示例查看官方示例                             

三、列表控件(Item Widget)

1、listWIdget

        QListWidget类列表框控件用来加载并显示多个列表项。QListWidgetItem类就是列表项类

         ​​​​​​​       

 常用的槽与信号:

additem添加一行尾部添加
insertItem在某个位子添加一行
removeItemWidget移除行
信号:
currentRowChanged(int currentRow)选中的行有改变
itemSelectionChanged()选中的项有改变

 2、treewidget

         树,直接双击就能添加,要加图标就在属性里面

        ​​​​​​​        ​​​​​​​    

 得到选中的内容

消息:
itemClicked(QTreeWidgetItem *item, int column)
实现:
qDebug()<<item->text(column);

3、tableWidget

        类似电子表格

        ​​​​​​​      

常用设置

//表头下面的那根线
ui->tableWidget_stuInfo->horizontalHeader()->setStyleSheet("border-bottom-width:
0.5px;border-style: outset;border-color: rgb(229,229,229);");

//自动适应列宽
ui->tableWidget_stuInfo->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); 

//隐藏默认行头
ui->tableWidget_stuInfo->verticalHeader()->setHidden(true);

//整个表不能被编辑
ui->tableWidget_stuInfo->setEditTriggers(QAbstractItemView::NoEditTriggers);

//表头到第0行的线
ui->tableWidget_stuInfo->horizontalHeader()->setStyleSheet("border-bottomwidth: 0.5px;border-style: outset;border-color: rgb(229,229,229);");

遍历打印

//遍历打印
for(int i=0;i<ui->tableWidget->rowCount()+1;i++)//行
{
    for(int j=0;j<ui->tableWidget->columnCount();j++)//列
    {
        if(ui->tableWidget->item(i,j)!=nullptr)
        {
            qDebug()<<ui->tableWidget->item(i,j)->text();
        }
    }   
} 

 遍历向表格设置内容

for(int i = 0; i < ui->tableWidget->rowCount()+1;i++)//行
{
     for(int j=0;j < ui->tableWidget->columnCount();j++)//列
     {
       ui->vip_custmer ->setItem(i, j,new QTableWidgetItem("里面设置所写的内容"));
     }  
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

small建攻

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

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

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

打赏作者

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

抵扣说明:

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

余额充值