【qt】Tool Box组件

一.有什么作用

类似于一个大的箱子,里面有很多的抽屉,抽屉里面可以装组件。

在这里插入图片描述
就如同QQ的好友分组

二.界面添加

在这里插入图片描述
右键可以添加页等属性:
在这里插入图片描述

三.代码添加

还是以项目为引导。
目标效果:
在这里插入图片描述

1.移除已有的

先获取‘抽屉’(页)个数,然后从后往前移除我们刚刚界面添加的页

void Dialog::initUI()
{
    int count=ui->toolBox->count();
    for(int i=count-1;i>=0;i--)
    {
        ui->toolBox->removeItem(i);
    }
}

2.开始添加

我们打算‘抽屉’里面放一个ListWidget的列表模式。
所有我们要对ListWidget的列表项先进行设置。

QListWidget *listW=new QListWidget;
    listW->setIconSize(QSize(48,48));

    for(int i=0;i<60;i++)
    {
        QListWidgetItem *item=new QListWidgetItem;
        item->setText("好友"+QString::number(i+1));
        QIcon icon;
        icon.addFile(":/image/girl.png");
        item->setIcon(icon);
        item->setSizeHint(QSize(200,60));

        listW->addItem(item);
    }

当我们对ListWidget设置好后,最重要的就是将其添加到toolBox里面了。

 ui->toolBox->addItem(listW,"我的好友 60");

运行结果:
在这里插入图片描述
感觉这个头像挺好看,哈哈!

接下来就是多添加几个箱子,来看看效果
完整代码

void Dialog::initUI()
{
    int count=ui->toolBox->count();
    for(int i=count-1;i>=0;i--)
    {
        ui->toolBox->removeItem(i);
    }

    QListWidget *listW=new QListWidget;
    listW->setIconSize(QSize(48,48));

    for(int i=0;i<60;i++)
    {
        QListWidgetItem *item=new QListWidgetItem;
        item->setText("好友"+QString::number(i+1));
        QIcon icon;
        icon.addFile(":/image/girl.png");
        item->setIcon(icon);
        item->setSizeHint(QSize(200,60));

        listW->addItem(item);
    }

    ui->toolBox->addItem(listW,"我的好友 60");

    listW=new QListWidget;
    listW->setIconSize(QSize(48,48));

        for(int i=0;i<165;i++)
        {
            QListWidgetItem *item=new QListWidgetItem;
            item->setText("同学"+QString::number(i+1));
            QIcon icon;
            icon.addFile(":/image/girl.png");
            item->setIcon(icon);
            item->setSizeHint(QSize(200,60));

            listW->addItem(item);
        }

        ui->toolBox->addItem(listW,"我的同学 165");


    listW=new QListWidget;
        listW->setIconSize(QSize(48,48));

        for(int i=0;i<5;i++)
        {
            QListWidgetItem *item=new QListWidgetItem;
            item->setText("黑名单"+QString::number(i+1));
            QIcon icon;
            icon.addFile(":/image/girl.png");
            item->setIcon(icon);
            item->setSizeHint(QSize(200,60));

            listW->addItem(item);
        }

        ui->toolBox->addItem(listW,"黑名单 5");
}

运行结果:

在这里插入图片描述

四.补充

哈哈,是不是感觉有点QQ的那个味道了,但是有个问题
在这里插入图片描述
你发现了吗?要是真的qq的话,昵称的下面,还有一条个性签名。
我们也想添加上去,但是不行,为什么呢?
因为ListWidget的列表项只能添加一个文本和一个图标,不能两个文本。
所有现在就引出了一个问题。
Qt自带的组件,没有合适我们的怎么办?
OK,这就是下一节的知识——自定义界面类
敬请期待…

人的一切痛苦,本质上都是对自己无能的愤怒。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值