• 大小: 2.07MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-13
  • 语言: 其他
  • 标签:

资源简介

本项目是采用C/S模型,采用QT来实现跨平台,在局域网内可以视频聊天发送文件,界面美观简洁,便捷。 开发流程: (2) 登录之后,Server端和Client端建立连接 (3) 好友列表分组界面设计 (4) 聊天对话框界面设计,打开对话框可以相互聊天,发送文件 (5) 视频界面设计,视频是采用UDP传输方式,加入多播组,打开摄像头,把视频数据发给对方,把接收的到视频数据显示到界面上 (6) 使用全QT技术(网络编程,界面布局,信号和槽)

资源截图

代码片段和文件信息

#include “client.h“
#include “ui_client.h“
#include 


Client::Client(QWidget *parent) :
    QDialog(parent)
    ui(new Ui::Client)
{
    ui->setupUi(this);

    /*去边框,设置颜色*/
    setWindowFlags(Qt::framelessWindowHint);
    QPalette p=palette();
    p.setColor(QPalette::WindowQt::green);
    setPalette(p);

     sendvideo = new video;
     sendvideo->GetClient(this);

    /*设置listWidget颜色*/
   // ui->label->setText(“对方正在输入中“);
    ui->listWidget->setstyleSheet(“QListWidget{color:blue;background:yellow;}“);


    tcpSocket = new QTcpSocket;

    tcpSocket->abort();
    tcpSocket->connectToHost(“127.0.0.1“6666);
    //tcpSocket->connectToHost(“192.168.1.11“6666);

    /*接收数据*/
    connect(tcpSocket SIGNAL(readyRead()) this SLOT(reveData()));
    connect(tcpSocket SIGNAL(error(QAbstractSocket::SocketError))
            this SLOT(displayerror(QAbstractSocket::SocketError)));

    connect(ui->sendEditSIGNAL(returnPressed())thisSLOT(on_sendButton_clicked()));

}


/*接受数据*/
void Client::reveData()
{

    QString mes;
    QString str;
    QString message;

    QTime time=QTime::currentTime();
    QString text=time.toString(“hh:mm:ss“);


    QDataStream in(tcpSocket);

    in.setVersion(QDataStream::Qt_5_2);
    in >> message;
    mes = tr(“张新建  “) + text;

    QListWidgetItem *items = new QListWidgetItem(QIcon(“../QQclient/image/qw.jpg“)mes);
    items->setTextAlignment(Qt::AlignLeft);
    ui->listWidget->addItem(items);

    str = tr(“ “) + message;
    ui->listWidget->addItem(str);
}


/*发送数据*/
void Client::on_sendButton_clicked()
{
    QString mes;
    QString str;
    QString message;

    QTime time=QTime::currentTime();
    QString text=time.toString(“hh:mm:ss“);


    if(ui->sendEdit->text() == ““)
    {
        return ;
    }

    QByteArray block;
    QDataStream out(&block QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_5_2);
    out <sendEdit->text();
    tcpSocket->write(block);

    mes = ui->sendEdit->text();
    str = tr(“萌么哒哒  “) + text;

    QListWidgetItem *items = new QListWidgetItem(str);
    items->setTextAlignment(Qt::AlignRight);
    ui->listWidget->addItem(items);

    message = tr(“ “) + mes;
    QListWidgetItem *item = new QListWidgetItem(message);
    item->setTextAlignment(Qt::AlignRight);
    ui->listWidget->addItem(item);

    ui->sendEdit->clear();
}

/*先发送服务器,我是谁*/
void Client::sendPersonal(QString personal)
{
    QByteArray block;
    QDataStream out(&block QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_5_2);
    out << personal;
    tcpSocket->write(block);
}

/*清屏*/
void Client::on_clearButton_clicked()
{
    ui->listWidget->clear();
}

void Client::displayerror(QAbstractSocket::SocketError)
{
    qDebug() << tcpSocket->errorString();
}



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

void Client::on_video_clicked()
{

    int ix = geometr

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-11 01:55  QQ_text\
     文件       33186  2016-11-25 09:56  QQ_text\QQ625.jpg
     文件         587  2017-01-22 15:33  QQ_text\QQ_text.pro
     文件       18721  2017-06-11 01:55  QQ_text\QQ_text.pro.user
     文件       17236  2016-12-24 12:38  QQ_text\QQ截图20161224123800.png
     文件        2405  2017-01-06 16:06  QQ_text\dialog.cpp
     文件         795  2017-01-06 16:06  QQ_text\dialog.h
     文件       17203  2017-01-22 17:16  QQ_text\dialog.ui
     目录           0  2017-03-24 21:25  QQ_text\image\
     文件        6302  2016-12-24 13:06  QQ_text\image\130612.png
     文件       43806  2016-12-24 13:03  QQ_text\image\15.png
     文件      132103  2016-12-26 10:33  QQ_text\image\20161226103320.png
     文件       15198  2016-12-24 13:11  QQ_text\image\31101.png
     文件       15042  2016-12-24 12:46  QQ_text\image\4611.png
     文件       37779  2016-12-24 13:14  QQ_text\image\55.png
     文件       47691  2016-12-24 14:25  QQ_text\image\Desk64441302007151.jpg
     文件       33186  2016-11-25 09:56  QQ_text\image\QQ.jpg
     文件       17236  2016-12-24 12:38  QQ_text\image\QQ截图20161224123800.png
     文件        8616  2016-10-10 23:58  QQ_text\image\audio.png
     文件      430942  2016-12-24 09:39  QQ_text\image\dc.png
     文件       19762  2016-12-24 12:58  QQ_text\image\e.png
     文件       47137  2017-01-01 13:20  QQ_text\image\move.png
     文件       21049  2016-10-10 21:50  QQ_text\image\pic3.png
     文件        9239  2016-11-25 10:14  QQ_text\image\qw.jpg
     文件       16831  2016-10-16 16:52  QQ_text\image\video1.png
     文件         196  2017-01-01 16:09  QQ_text\main.cpp
     文件        9662  2016-12-24 11:46  QQ_text\qapp.ico
     文件          59  2016-12-24 11:47  QQ_text\qapp.rc
     文件        9662  2016-12-24 11:28  QQ_text\qq.ico
     文件        9239  2016-11-25 10:14  QQ_text\qq.jpg
     文件         679  2017-01-22 16:20  QQ_text\res.qrc
............此处省略276个文件信息

评论

共有 条评论

相关资源