Qt学习——聊天的QQ列表QToolBox类 .

 

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


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



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

  1. #include <QToolBox>   
  2. #include <QToolButton>   
  3. class Drawer : public QToolBox  
  4. {  
  5.     Q_OBJECT  
  6. public:  
  7.     Drawer(QWidget *parent=0,Qt::WindowFlags f=0);  
  8. private:  
  9.     QToolButton *toolBtn1_1;  
  10.     QToolButton *toolBtn1_2;  
  11.     QToolButton *toolBtn1_3;  
  12.     QToolButton *toolBtn1_4;  
  13.     QToolButton *toolBtn1_5;  
  14.     QToolButton *toolBtn2_1;  
  15.     QToolButton *toolBtn2_2;  
  16.     QToolButton *toolBtn3_1;  
  17.     QToolButton *toolBtn3_2;  
  18. };  

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

  1. #include "drawer.h"   
  2. #include <QGroupBox>   
  3. #include <QVBoxLayout>   
  4. Drawer::Drawer(QWidget *parent,Qt::WindowFlags f)  
  5.     :QToolBox(parent,0)  
  6. {  
  7.     setWindowTitle(tr("My QQ"));  
  8. //***************初始化我的好友*****************   
  9.     toolBtn1_1=new QToolButton;  
  10.     toolBtn1_1->setText(tr("张三"));  
  11.     toolBtn1_1->setIcon(QPixmap("res/11.bmp"));  
  12.     toolBtn1_1->setIconSize(QPixmap("res/11.bmp").size());  
  13.     toolBtn1_1->setAutoRaise(TRUE);  
  14.     toolBtn1_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  15.   
  16.     toolBtn1_2=new QToolButton;  
  17.     toolBtn1_2->setText(tr("李四"));  
  18.     toolBtn1_2->setIcon(QPixmap("res/12.bmp"));  
  19.     toolBtn1_2->setIconSize(QPixmap("res/12.bmp").size());  
  20.     toolBtn1_2->setAutoRaise(TRUE);  
  21.     toolBtn1_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  22.   
  23.     toolBtn1_3=new QToolButton;  
  24.     toolBtn1_3->setText(tr("王五"));  
  25.     toolBtn1_3->setIcon(QPixmap("res/13.bmp"));  
  26.     toolBtn1_3->setIconSize(QPixmap("res/13.bmp").size());  
  27.     toolBtn1_3->setAutoRaise(TRUE);  
  28.     toolBtn1_3->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  29.   
  30.     toolBtn1_4=new QToolButton;  
  31.     toolBtn1_4->setText(tr("小赵"));  
  32.     toolBtn1_4->setIcon(QPixmap("res/14.bmp"));  
  33.     toolBtn1_4->setIconSize(QPixmap("res/14.bmp").size());  
  34.     toolBtn1_4->setAutoRaise(TRUE);  
  35.     toolBtn1_4->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  36.   
  37.     toolBtn1_5=new QToolButton;  
  38.     toolBtn1_5->setText(tr("小孙"));  
  39.     toolBtn1_5->setIcon(QPixmap("res/15.bmp"));  
  40.     toolBtn1_5->setIconSize(QPixmap("res/15.bmp").size());  
  41.     toolBtn1_5->setAutoRaise(TRUE);  
  42.     toolBtn1_5->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  43. //***************添加我的好友*****************   
  44.     QGroupBox *groupBox1=new QGroupBox;  
  45.     QVBoxLayout *layout1=new QVBoxLayout(groupBox1);  
  46.     layout1->setMargin(10);  
  47.     layout1->setAlignment(Qt::AlignHCenter);  
  48.     layout1->addWidget(toolBtn1_1);  
  49.     layout1->addWidget(toolBtn1_2);  
  50.     layout1->addWidget(toolBtn1_3);  
  51.     layout1->addWidget(toolBtn1_4);  
  52.     layout1->addWidget(toolBtn1_5);  
  53.     layout1->addStretch();  
  54. //***************陌生人*********************   
  55.     toolBtn2_1=new QToolButton;  
  56.     toolBtn2_1->setText(tr("小王"));  
  57.     toolBtn2_1->setIcon(QPixmap("res/21.bmp"));  
  58.     toolBtn2_1->setIconSize(QPixmap("res/21.bmp").size());  
  59.     toolBtn2_1->setAutoRaise(TRUE);  
  60.     toolBtn2_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  61.   
  62.     toolBtn2_2=new QToolButton;  
  63.     toolBtn2_2->setText(tr("小张"));  
  64.     toolBtn2_2->setIcon(QPixmap("res/22.bmp"));  
  65.     toolBtn2_2->setIconSize(QPixmap("res/22.bmp").size());  
  66.     toolBtn2_2->setAutoRaise(TRUE);  
  67.     toolBtn2_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  68. //***************添加陌生人*****************   
  69.     QGroupBox *groupBox2=new QGroupBox;  
  70.     QVBoxLayout *layout2=new QVBoxLayout(groupBox2);  
  71.     layout2->setMargin(10);  
  72.     layout2->setAlignment(Qt::AlignHCenter);  
  73.     layout2->addWidget(toolBtn2_1);  
  74.     layout2->addWidget(toolBtn2_2);  
  75.     layout2->addStretch();  
  76. //***************黑名单*********************   
  77.     toolBtn3_1=new QToolButton;  
  78.     toolBtn3_1->setText(tr("小王"));  
  79.     toolBtn3_1->setIcon(QPixmap("res/31.bmp"));  
  80.     toolBtn3_1->setIconSize(QPixmap("res/31.bmp").size());  
  81.     toolBtn3_1->setAutoRaise(TRUE);  
  82.     toolBtn3_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  83.   
  84.     toolBtn3_2=new QToolButton;  
  85.     toolBtn3_2->setText(tr("小张"));  
  86.     toolBtn3_2->setIcon(QPixmap("res/32.bmp"));  
  87.     toolBtn3_2->setIconSize(QPixmap("res/32.bmp").size());  
  88.     toolBtn3_2->setAutoRaise(TRUE);  
  89.     toolBtn3_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);  
  90. //***************添加黑名单*****************   
  91.     QGroupBox *groupBox3=new QGroupBox;  
  92.     QVBoxLayout *layout3=new QVBoxLayout(groupBox3);  
  93.     layout3->setMargin(10);  
  94.     layout3->setAlignment(Qt::AlignHCenter);  
  95.     layout3->addWidget(toolBtn3_1);  
  96.     layout3->addWidget(toolBtn3_2);  
  97.     layout3->addStretch();  
  98. //***************添加至主窗口*****************   
  99.     this->addItem((QWidget*)groupBox1,tr("我的好友"));  
  100.     this->addItem((QWidget*)groupBox2,tr("陌生人"));  
  101.     this->addItem((QWidget*)groupBox3,tr("黑名单"));  
  102. }  

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


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值