91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: 其他
  • 標簽: qt??tcp/ip??

資源簡介

使用Qt中的tcp協議,構建服務器和客戶端的界面,實現交互通信,如聊天功能,此為一個簡單的例子,但實現了所有的基本功能,富有參考性

資源截圖

代碼片段和文件信息

#include?“clientwidget.h“
#include?“ui_clientwidget.h“
#include?
#include?
#include?
#include?

ClientWidget::ClientWidget(QWidget?*parent)?:
????QWidget(parent)
????ui(new?Ui::ClientWidget)
{
????ui->setupUi(this);
????this->setWindowtitle(“客戶端“);
????this->resize(500300);
????this->setMinimumSize(500300);
????tcpSocket?=?new?QTcpSocket(this);
????connect(tcpSocket&QTcpSocket::connected
????????????[=]()
????????????{
????????????????ui->textEditRead->setText(“與服務器成功連接“);
????????????????qDebug()?<
????????????}
????????????);
????connect(tcpSocket&QTcpSocket::readyRead
????????????[=]()
????????????{
????????????????QByteArray?array?=?tcpSocket->readAll();
????????????????ui->textEditRead->append(array);
????????????}
????????????);
????ui->ButtonSend->setFocus();
????ui->ButtonSend->setDefault(true);
????//ui->ButtonSend->setShortcut(Qt::Key_Enter|Qt::Key_Return);
????ui->textEditWrite->installEventFilter(this);//設置完后自動調用其eventFilter函數
}

ClientWidget::~ClientWidget()
{
????delete?ui;
}

void?ClientWidget::on_ButtonConnect_clicked()
{
????//獲取服務器端口和ip
????QString?ip?=?ui->lineEditIp->text();
????qint16?port?=?ui->lineEditPort->text().toInt();
????//與服務器進行連接
????tcpSocket->connectToHost(QHostAddress(ip)port);
}

void?ClientWidget::on_ButtonSend_clicked()
{
????//獲取編輯框內容
????QTime?cur_time?=?QTime::currentTime();
????QString?str?=?ui->textEditWrite->toPlainText();
????QString?time_info?=?cur_time.toString(“hh:mm:ss“);
????QString?str_info?=?QString(“客戶端:?%1?[%2]“).arg(str).arg(time_info);
????//發送數據
????tcpSocket->write(str_info.toUtf8().data());
????ui->textEditWrite->clear();

????//ui->textEditWrite->setFocus();
}



void?ClientWidget::on_ButtonClose_clicked()
{
????//主動斷開連接
????tcpSocket->disconnectFromHost();
????ui->textEditRead->setText(“與服務器斷開連接!“);
????tcpSocket->close();
}

bool?ClientWidget::eventFilter(Qobject?*target?QEvent?*event)
{
????if(target?==?ui->textEditWrite)
????????{
????????????if(event->type()?==?QEvent::KeyPress)//回車鍵
????????????{
?????????????????QKeyEvent?*k?=?static_cast(event);

?????????????????if(k->key()?==?Qt::Key_Return)
?????????????????{
?????????????????????on_ButtonSend_clicked();
?????????????????????return?true;
?????????????????}
????????????}
????????}
????????return?QWidget::eventFilter(targetevent);

}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-02-19?16:43??TCP打包\DemoText10_TCPServer_01\
?????文件????????2603??2020-02-19?12:19??TCP打包\DemoText10_TCPServer_01\clientwidget.cpp
?????文件?????????605??2020-02-19?11:57??TCP打包\DemoText10_TCPServer_01\clientwidget.h
?????文件????????2432??2019-08-25?15:28??TCP打包\DemoText10_TCPServer_01\clientwidget.ui
?????文件????????1356??2019-08-25?15:14??TCP打包\DemoText10_TCPServer_01\DemoText10_TCPServer_01.pro
?????文件?????????252??2019-08-25?15:37??TCP打包\DemoText10_TCPServer_01\main.cpp
?????文件????????3522??2020-02-19?12:19??TCP打包\DemoText10_TCPServer_01\serverwidget.cpp
?????文件?????????699??2020-02-19?12:00??TCP打包\DemoText10_TCPServer_01\serverwidget.h
?????文件????????1532??2019-08-25?15:55??TCP打包\DemoText10_TCPServer_01\serverwidget.ui

評論

共有 條評論