Qt版聊天软件

18.1 核心功能界面演示

drawer.h

#ifndef DRAWER_H
#define DRAWER_H
 
 
#include "widget.h"
#include <QToolBox>
#include <QToolButton>
 
 
class Drawer : public QToolBox
{
  
  
    Q_OBJECT
public:
    Drawer(QWidget *parent=0,Qt::WindowFlags f=0);
private:
    QToolButton *toolBtn1;
    QToolButton *toolBtn2;
    QToolButton *toolBtn3;
    QToolButton *toolBtn4;
    QToolButton *toolBtn5;
    QToolButton *toolBtn6;
    QToolButton *toolBtn7;
    QToolButton *toolBtn8;
    QToolButton *toolBtn9;
private slots:
    void showChatWidget1();
    void showChatWidget2();
    void showChatWidget3();
    void showChatWidget4();
    void showChatWidget5();
    void showChatWidget6();
    void showChatWidget7();
    void showChatWidget8();
    void showChatWidget9();
private:
    Widget *chatWidget1;
    Widget *chatWidget2;
    Widget *chatWidget3;
    Widget *chatWidget4;
    Widget *chatWidget5;
    Widget *chatWidget6;
    Widget *chatWidget7;
    Widget *chatWidget8;
    Widget *chatWidget9;
 
 
 
 
};
 
#endif   //   DRAWER_H
drawer.cpp
#include "drawer.h"
#include <QGroupBox>
#include <QVBoxLayout>
 
 
class QString rsrcPath = ":/images";
 
 
Drawer::Drawer(QWidget *parent, Qt::WindowFlags f)
    :QToolBox(parent,f)
{
  
  
    setWindowTitle (tr("Myself QQ 2015"));
    setWindowIcon (QPixmap(rsrcPath + "/qq.png"));
 
 
    toolBtn1 = new QToolButton;
    toolBtn1->setText (tr(" 苦涩沙漠"));
    toolBtn1->setIcon (QPixmap(rsrcPath + "/Cherry.png"));
    toolBtn1->setIconSize (QPixmap(rsrcPath + "/Cherry.png").size () * 0.58);
    toolBtn1->setAutoRaise (true);  //当鼠标离开时,按钮自动恢复成弹起状态
    toolBtn1->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn1, SIGNAL(clicked(bool)), this, SLOT(showChatWidget1()));
 
 
    toolBtn2 = new QToolButton;
    toolBtn2->setText (tr(" 飘逝的云"));
    toolBtn2->setIcon (QPixmap(rsrcPath + "/dr.png"));
    toolBtn2->setIconSize (QPixmap(rsrcPath + "/dr.png").size () * 0.58);
    toolBtn2->setAutoRaise (true);  //当鼠标离开时,按钮自动恢复成弹起状态
    toolBtn2->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn2, SIGNAL(clicked(bool)), this, SLOT(showChatWidget2()));
 
 
    toolBtn3 = new QToolButton;
    toolBtn3->setText (tr(" 会飞的狼"));
    toolBtn3->setIcon (QPixmap(rsrcPath + "/jj.png"));
    toolBtn3->setIconSize (QPixmap(rsrcPath + "/dr.png").size () * 0.58);
    toolBtn3->setAutoRaise (true);
    toolBtn3->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn3, SIGNAL(clicked(bool)), this, SLOT(showChatWidget3()));
 
 
    toolBtn4 = new QToolButton;
    toolBtn4->setText (tr(" 金色的鱼"));
    toolBtn4->setIcon (QPixmap(rsrcPath + "/lswh.png"));
    toolBtn4->setIconSize (QPixmap(rsrcPath + "/lswh.png").size () * 0.58);
    toolBtn4->setAutoRaise (true);
    toolBtn4->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn4, SIGNAL(clicked(bool)), this, SLOT(showChatWidget4()));
 
 
    toolBtn5 = new QToolButton;
    toolBtn5->setText (tr(" 一夜情柔"));
    toolBtn5->setIcon (QPixmap(rsrcPath + "/qmnn.png"));
    toolBtn5->setIconSize (QPixmap(rsrcPath + "/qmnn.png").size () * 0.58);
    toolBtn5->setAutoRaise (true);
    toolBtn5->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn5, SIGNAL(clicked(bool)), this, SLOT(showChatWidget5()));
 
 
    toolBtn6 = new QToolButton;
    toolBtn6->setText (tr(" 天马行空"));
    toolBtn6->setIcon (QPixmap(rsrcPath + "/spqy.png"));
    toolBtn6->setIconSize (QPixmap(rsrcPath + "/spqy.png").size () * 0.58);
    toolBtn6->setAutoRaise (true);
    toolBtn6->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn6, SIGNAL(clicked(bool)), this, SLOT(showChatWidget6()));
 
 
    toolBtn7 = new QToolButton;
    toolBtn7->setText (tr(" 飞奔时代"));
    toolBtn7->setIcon (QPixmap(rsrcPath + "/wy.png"));
    toolBtn7->setIconSize (QPixmap(rsrcPath + "/wy.png").size () * 0.58);
    toolBtn7->setAutoRaise (true);
    toolBtn7->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn7, SIGNAL(clicked(bool)), this, SLOT(showChatWidget7()));
 
 
    toolBtn8 = new QToolButton;
    toolBtn8->setText (tr(" 一世情缘"));
    toolBtn8->setIcon (QPixmap(rsrcPath + "/qq.png"));
    toolBtn8->setIconSize (QPixmap(rsrcPath + "/qq.png").size () * 0.58);
    toolBtn8->setAutoRaise (true);
    toolBtn8->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn8, SIGNAL(clicked(bool)), this, SLOT(showChatWidget8()));
 
 
    toolBtn9 = new QToolButton;
    toolBtn9->setText (tr(" 钟爱一生"));
    toolBtn9->setIcon (QPixmap(rsrcPath + "/ymrl.png"));
    toolBtn9->setIconSize (QPixmap(rsrcPath + "/ymrl.png").size () * 0.58);
    toolBtn9->setAutoRaise (true);
    toolBtn9->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
    connect(toolBtn9, SIGNAL(clicked(bool)), this, SLOT(showChatWidget9()));
 
 
    //创建一个QGroupBox类类实例,在文本例中对应抽屉“群成员”
    QGroupBox *groupBox = new QGroupBox;
    QVBoxLayout *layout = new QVBoxLayout(groupBox);
    layout->setMargin (6);          //设置边框距
    layout->setSpacing (2);
    layout->setAlignment (Qt::AlignLeft | Qt::AlignTop);
 
 
    layout->addWidget (toolBtn1);
    layout->addWidget (toolBtn2);
    layout->addWidget (toolBtn3);
    layout->addWidget (toolBtn4);
    layout->addWidget (toolBtn5);
    layout->addWidget (toolBtn6);
    layout->addWidget (toolBtn7);
    layout->addWidget (toolBtn8);
    layout->addWidget (toolBtn9);
 
 
    this->addItem ((QWidget*)groupBox, tr("群成员"));
 
 
}
 
 
void Drawer::showChatWidget1 ()
{
  
  
    //以按钮toolBtn1的文本为用户名创建一个Widget类的实例,对应于一个聊天窗口
    chatWidget1 = new Widget(0, toolBtn1->text ());
    //设置聊天的标题文字
    chatWidget1->setWindowTitle (toolBtn1->text ());
    //设置聊天窗口图标
    chatWidget1->setWindowIcon (toolBtn1->icon ());
    chatWidget1->show ();
}
 
 
void Drawer::showChatWidget2 ()
{
  
  
    chatWidget2 = new Widget(0, toolBtn2->text ());
    chatWidget2->setWindowTitle (toolBtn2->text ());
    chatWidget2->setWindowIcon (toolBtn2->icon ());
    chatWidget2->show ();
}
 
 
void Drawer::showChatWidget3 ()
{
  
  
    chatWidget3 = new Widget(0, toolBtn3->text ());
    chatWidget3->setWindowTitle (toolBtn3->text ());
    chatWidget3->setWindowIcon (toolBtn3->icon ());
    chatWidget3->show ();
}
 
 
void Drawer::showChatWidget4 ()
{
  
  
    chatWidget4 = new Widget(0, toolBtn4
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值