• 大小: 2.38MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-09-20
  • 语言: C#
  • 标签: 即时通讯  QQ  IM  Qt  聊天  

资源简介

这是通过Qt编写的IM软件,包括了服务端和客户端,客户端拥有了聊天,发图片,改文字样式,添加好友,删除好友,修改备注等功能,而服务端可以查看该用户登录状况,里面有一个通过Asp.NET编写的简单网页,是进行在线注册和找回密码的功能。

资源截图

代码片段和文件信息

#include “chat.h“
#include “ui_chat.h“

Chat::Chat(QString qq_s QString qq_t
           QString name_s QString name_t
           QString ip_s QString ip_t) :
    //QMainWindow(parent)
    ui(new Ui::Chat)
{
    QTextCodec::setCodecForTr(QTextCodec::codecForName(“GBK“));
    ui->setupUi(this);
    this->qq_s = qq_s;
    this->qq_t = qq_t;

    qDebug() << “init qq_t = “ << this->qq_t;
    this->name_s = name_s;
    this->name_t = name_t;
    this->ip_s = ip_s;
    this->ip_t = ip_t;

    this->setWindowtitle(tr(“与%1聊天中“).arg(name_t));

    ui->sendTextEdit->setFocus();

    //网络设定
    tcpport = 60001;
    p2pport = 60008;

    //address = QHostAddress::LocalHost;

    udpport = 33333;
    clientsocket = new QTcpSocket(this);
    p2psocket = new QTcpSocket(this);

    server = new QTcpServer(this);
    server->listen(QHostAddress::Any p2pport);

    udpsocket = new QUdpSocket(this);
    udpsocket->bind(udpport QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);

    tserver = new Transfer();

    connect(tserver SIGNAL(sendFileName(QString))
            this SLOT(sentFileName(QString)));

    //接收者资料
    ui->qqLabel->setText(qq_t);
    ui->nameLabel->setText(name_t);

    connect(ui->sendBtn SIGNAL(clicked()) this SLOT(sendMessageSlot()));
    connect(udpsocket SIGNAL(readyRead()) this SLOT(receiveMessageSlot()));

    connect(ui->sendTextEdit SIGNAL(currentCharFormatChanged(QTextCharFormat))
            thisSLOT(currentFormatChanged(const QTextCharFormat)));

    connect(ui->toolButton_Palette SIGNAL(clicked()) this SLOT(setFontColor()));
    connect(ui->toolButton_Font SIGNAL(clicked()) this SLOT(setFontxx()));
}

Chat::~Chat()
{
    delete ui;
}

void Chat::closeEvent(QCloseEvent *event)
{
    emit closebutton(qq_t);
    event->accept();
}


void Chat::currentFormatChanged(const QTextCharFormat &format)
{
    ui->toolButton_Bold->setChecked(format.font().bold());
    ui->toolButton_Italic->setChecked(format.font().italic());
    ui->toolButton_Underline->setChecked(format.font().underline());
}

//槽函数,设置输入字体颜色
void Chat::setFontColor()
{
    QTextCodec::setCodecForTr(QTextCodec::codecForName(“GBK“));
    QColor col = QColorDialog::getColor(ui->sendTextEdit->textColor() this);
    if (!col.isValid()) return;

    ui->sendTextEdit->setTextColor(col);
    QPixmap pix(16 16);
    pix.fill(col);
    ui->toolButton_Palette->setIcon(pix);
    this->setStatusTip(tr(“选择字体颜色“));
}

//槽函数,设置字体大小+选择字体
void Chat::setFontxx()
{
    QTextCodec::setCodecForTr(QTextCodec::codecForName(“GBK“));
    bool ok;
    QFont font = QFontDialog::getFont(&ok QFont(“Times“ 12) this);
    if (!ok) return;
    ui->sendTextEdit->setFont(font);
    this->setStatusTip(tr(“设置字体大小“));
}

//槽函数,把图片放入Textedit内
void Chat::showfaceSlot(QString pic)
{
    ui->sendTextEdit->append(““);
}

void Chat::sentFileName(QStrin

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12310  2013-12-05 16:46  Qt Project\Lailiao\chat.cpp

     文件       2163  2013-12-02 22:01  Qt Project\Lailiao\chat.h

     文件       9262  2013-12-05 02:50  Qt Project\Lailiao\chat.ui

     文件      13216  2013-12-07 00:03  Qt Project\Lailiao\client.cpp

     文件       2249  2013-12-06 21:45  Qt Project\Lailiao\client.h

     文件       4930  2013-12-06 21:21  Qt Project\Lailiao\client.ui

     文件        446  2013-12-07 00:03  Qt Project\Lailiao\constant.h

     文件       3318  2013-12-02 22:39  Qt Project\Lailiao\download.cpp

     文件        941  2013-12-02 22:15  Qt Project\Lailiao\download.h

     文件       2528  2013-12-04 11:45  Qt Project\Lailiao\download.ui

     文件      10861  2013-02-18 11:08  Qt Project\Lailiao\icon\20091201_0c5e3cb96bf053f6f8f43xlWxvBTLEnr.png

     文件      12548  2013-02-18 11:08  Qt Project\Lailiao\icon\20091201_2a0f6976569659175fd3PEFlPFnrDS1R.png

     文件       9497  2013-02-18 11:08  Qt Project\Lailiao\icon\20091201_b321df1d9e60373380a0IQzepnVIU3HS.png

     文件       8608  2013-02-18 11:08  Qt Project\Lailiao\icon\20091201_e59eb6d747cef0b2bc89nKJwRb2QIxXh.png

     文件      19201  2013-02-18 11:08  Qt Project\Lailiao\icon\Bin(empty).png

     文件      16896  2013-12-04 09:59  Qt Project\Lailiao\icon\Chat-icon.png

     文件      16214  2013-12-05 02:18  Qt Project\Lailiao\icon\chat.png

     文件      16155  2013-02-18 11:08  Qt Project\Lailiao\icon\E-Mail.png

     文件       2168  2013-02-18 11:08  Qt Project\Lailiao\icon\fileopen.png

     文件       3200  2013-02-18 11:08  Qt Project\Lailiao\icon\Files.png

     文件       9576  2013-02-18 11:08  Qt Project\Lailiao\icon\Floppy.png

     文件       8802  2013-12-04 12:16  Qt Project\Lailiao\icon\icq_offline.jpg

     文件      11176  2013-12-04 12:22  Qt Project\Lailiao\icon\icq_online.jpg

     文件      21174  2013-12-04 10:14  Qt Project\Lailiao\icon\Login.png

     文件      22074  2013-02-18 11:08  Qt Project\Lailiao\icon\msn.png

     文件       4705  2013-02-18 11:08  Qt Project\Lailiao\icon\qq\aio_favourite_cell_normal@2x.png

     文件        813  2013-02-18 11:08  Qt Project\Lailiao\icon\qq\aio_pic_anti.png

     文件       4606  2013-02-18 11:08  Qt Project\Lailiao\icon\qq\Header+Search_Offline_Hover@2x.png

     文件       4576  2013-02-18 11:08  Qt Project\Lailiao\icon\qq\Header+Search_Online_Normal@2x.png

     文件       1977  2013-02-18 11:08  Qt Project\Lailiao\icon\qq\titlebar_function_fileTransfer_hover@2x.png

............此处省略87个文件信息

评论

共有 条评论