QToolBox展示出来的抽屉效果可以设计联系人列表

下面展示类似聊天软件QQ的主界面

头文件主要就是定义这些联系人QToolButton:

#include <QToolBox>
#include <QToolButton>
class Drawer : public QToolBox
{Q_OBJECT
public:Drawer(QWidget *parent=0,Qt::WindowFlags f=0);
private:QToolButton *toolBtn1_1;QToolButton *toolBtn1_2;QToolButton *toolBtn1_3;QToolButton *toolBtn1_4;QToolButton *toolBtn1_5;QToolButton *toolBtn2_1;QToolButton *toolBtn2_2;QToolButton *toolBtn3_1;QToolButton *toolBtn3_2;
};

源文件将联系人加入到三个QToolBox中

#include "drawer.h"
#include <QGroupBox>
#include <QVBoxLayout>
Drawer::Drawer(QWidget *parent,Qt::WindowFlags f):QToolBox(parent,0)
{setWindowTitle(tr("My QQ"));
//***************初始化我的好友*****************toolBtn1_1=new QToolButton;toolBtn1_1->setText(tr("张三"));toolBtn1_1->setIcon(QPixmap("res/11.bmp"));toolBtn1_1->setIconSize(QPixmap("res/11.bmp").size());toolBtn1_1->setAutoRaise(TRUE);toolBtn1_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);toolBtn1_2=new QToolButton;toolBtn1_2->setText(tr("李四"));toolBtn1_2->setIcon(QPixmap("res/12.bmp"));toolBtn1_2->setIconSize(QPixmap("res/12.bmp").size());toolBtn1_2->setAutoRaise(TRUE);toolBtn1_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);toolBtn1_3=new QToolButton;toolBtn1_3->setText(tr("王五"));toolBtn1_3->setIcon(QPixmap("res/13.bmp"));toolBtn1_3->setIconSize(QPixmap("res/13.bmp").size());toolBtn1_3->setAutoRaise(TRUE);toolBtn1_3->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);toolBtn1_4=new QToolButton;toolBtn1_4->setText(tr("小赵"));toolBtn1_4->setIcon(QPixmap("res/14.bmp"));toolBtn1_4->setIconSize(QPixmap("res/14.bmp").size());toolBtn1_4->setAutoRaise(TRUE);toolBtn1_4->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);toolBtn1_5=new QToolButton;toolBtn1_5->setText(tr("小孙"));toolBtn1_5->setIcon(QPixmap("res/15.bmp"));toolBtn1_5->setIconSize(QPixmap("res/15.bmp").size());toolBtn1_5->setAutoRaise(TRUE);toolBtn1_5->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
//***************添加我的好友*****************QGroupBox *groupBox1=new QGroupBox;QVBoxLayout *layout1=new QVBoxLayout(groupBox1);layout1->setMargin(10);layout1->setAlignment(Qt::AlignHCenter);layout1->addWidget(toolBtn1_1);layout1->addWidget(toolBtn1_2);layout1->addWidget(toolBtn1_3);layout1->addWidget(toolBtn1_4);layout1->addWidget(toolBtn1_5);layout1->addStretch();
//***************陌生人*********************toolBtn2_1=new QToolButton;toolBtn2_1->setText(tr("小王"));toolBtn2_1->setIcon(QPixmap("res/21.bmp"));toolBtn2_1->setIconSize(QPixmap("res/21.bmp").size());toolBtn2_1->setAutoRaise(TRUE);toolBtn2_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);toolBtn2_2=new QToolButton;toolBtn2_2->setText(tr("小张"));toolBtn2_2->setIcon(QPixmap("res/22.bmp"));toolBtn2_2->setIconSize(QPixmap("res/22.bmp").size());toolBtn2_2->setAutoRaise(TRUE);toolBtn2_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
//***************添加陌生人*****************QGroupBox *groupBox2=new QGroupBox;QVBoxLayout *layout2=new QVBoxLayout(groupBox2);layout2->setMargin(10);layout2->setAlignment(Qt::AlignHCenter);layout2->addWidget(toolBtn2_1);layout2->addWidget(toolBtn2_2);layout2->addStretch();
//***************黑名单*********************toolBtn3_1=new QToolButton;toolBtn3_1->setText(tr("小王"));toolBtn3_1->setIcon(QPixmap("res/31.bmp"));toolBtn3_1->setIconSize(QPixmap("res/31.bmp").size());toolBtn3_1->setAutoRaise(TRUE);toolBtn3_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);toolBtn3_2=new QToolButton;toolBtn3_2->setText(tr("小张"));toolBtn3_2->setIcon(QPixmap("res/32.bmp"));toolBtn3_2->setIconSize(QPixmap("res/32.bmp").size());toolBtn3_2->setAutoRaise(TRUE);toolBtn3_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
//***************添加黑名单*****************QGroupBox *groupBox3=new QGroupBox;QVBoxLayout *layout3=new QVBoxLayout(groupBox3);layout3->setMargin(10);layout3->setAlignment(Qt::AlignHCenter);layout3->addWidget(toolBtn3_1);layout3->addWidget(toolBtn3_2);layout3->addStretch();
//***************添加至主窗口*****************this->addItem((QWidget*)groupBox1,tr("我的好友"));this->addItem((QWidget*)groupBox2,tr("陌生人"));this->addItem((QWidget*)groupBox3,tr("黑名单"));
}

图片自己找,然后放到了res文件夹中

Qt学习——聊天的QQ列表QToolBox类相关推荐

  1. QT学习笔记(摘抄)

    QT学习笔记-1.QT主要的对象 说来惭愧学习c++很长时间了一直没有使用c++开发过软件界面 所以现在想认认真真的学习一个c++图形界面框架库 本来想学习Xwidget但是这个资料不大好找 有啥问题 ...

  2. QT学习-核心类列表-33、QtTest 34、QtUiTools

    33    -    QtTest模块为Qt程序和库提供单元测试的类 34    -    QtUiTools模块提供类去操作由Qt Designer创建的窗口    -    Provides cl ...

  3. QT学习-核心类列表-4、Qt WebKit Widgets 5、Qt3DCore

    4    -    Qt WebKit Widgets模块提供一个C++类的网页浏览器引擎,与网页内容进行交互 5    -    Qt3DCore模块包含支持近实时的仿真系统的功能     Qt3D ...

  4. QT学习日志(附:简易计算器,qq登录界面,简易绘图板,植物大战僵尸魔改版项目实践)

    目录 写在前面 实训前一天 头文件无法生成 项目栏不见了 不知道如何发布程序 实训第一天(附简易计算器的实现) 自定义命名空间的相关问题 关于隐式调用构造函数的问题 实训第二天(不附地址薄的实现) 关 ...

  5. 【QT学习】QRegExp类正则表达式(一文读懂)

    文章目录 前言 一.QRegExp简介 二.元字符及通配模式 1.元字符 2.通配模式 三.QRegExp构造和方法 1.默认构造函数 2.模式构造函数 3. isValid() 函数 4. case ...

  6. Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断

    Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断 目录 python的列表的特殊应用 一行命令实现if判断中的两类判断 python的列表的特殊应用 一行命令实 ...

  7. QT学习笔记(十一):QString类

    QT学习笔记(十一):QString类 1.概述 2.编辑操作 3.查询操作 3.转换操作 1.概述 1.1 QString 类是 Qt 中用于表示字符串的类,实现在 QtCore 共享库中.QStr ...

  8. Qt学习之显示类的控件(QLabel、QTextBrowser、QGraphicsView、QCalendarWidget、QWebView、QProgressBar、QOpenGLWidget)

    本文转自:<Qt编程指南>        作者:奇先生 Qt编程指南,Qt新手教程,Qt Programming Guide 5.5 显示类的控件 本节显示类控件是指作为显示用途的控件,本 ...

  9. 来,带你实现基于网络通信QQ聊天室-----QQ有这么强!!!

    如何实现基于网络通信的QQ聊天室 目录 认识网络通信 实现QQ聊天室 项目总结 一.认识网络通信 1.前言 作为一名大一的学生,虽然马上就要奔大二啦,但是由于今年下学期学习都是在线上进行的,对课程学习 ...

  10. C++,QT,ListView社交群列表控件组件

    群组列表继承自Qt C++带导航功能的ListView基础类封装2 与好友列表基类一直,大部分逻辑和代码页与好友列表一致 按照惯例,我们先上图 支持任意圆角比例的圆角头像,支持索引分组和自定义分组两种 ...

最新文章

  1. 48个Python练手项目(附详细教程)
  2. Redis操作ZSet类型
  3. 隐藏导航栏或返回按钮
  4. 嵌入式Linux系统编程学习之二十六多线程概述
  5. javascript数组对象
  6. 安阳7中计算机绘画知识,安阳工学院绘画专业主修课程有哪些
  7. 微信小程序中引入图标
  8. python构造icmp数据包_Python原始套接字未接收ICMP数据包
  9. UnityShader语法英文入门
  10. 【札记】二 先天八卦与后天八卦
  11. No filesystem could mount root, tried: ext3 ext2 ext4 vfat msdos
  12. fn1-call-call-fn2-面试题
  13. Phalanx HDU 【2859】
  14. 用HTML5实现手机摇一摇的功能并配上声音
  15. VScode VSC Netease Music(网易云音乐)插件
  16. 《关键信息基础设施安全保护条例 》解读
  17. Oracle数据库的空间管理技巧
  18. 读ICCV Best Student Paper有感
  19. 参会人员如何快速入场?高科技来帮忙
  20. 第一篇 树莓派刷机和系统基础配置

热门文章

  1. cocos2d-x-3.4-025-仿霍比特人3五军之战片尾动画
  2. 初中英语语法(003)-be动词和一般动词的一般过去式
  3. 洛谷 P3403 跳楼机 题解
  4. 基于安卓Android平台的数独游戏的开发
  5. IntelliJ IDEA 之汉化包安装
  6. Idea 插件下载缓慢,无法下载的解决方式
  7. Nodejs获取微信签名并使用JSSDK
  8. 《论文写作》课程收获
  9. 链表Linked List
  10. prevent to do sth 与 prevent sb (from) doing 用法