QT Day5思维导图

news2025/1/12 1:04:11

聊天室代码:

#include "cli.h"
#include "ui_cli.h"

Cli::Cli(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Cli)
{
    ui->setupUi(this);
    socket = new QTcpSocket(this);
    connect(socket,&QTcpSocket::connected,this,&Cli::connect_slot);
    //客户端与服务器连接成功后,如果服务器向客户端发来数据,客户端就会自动发送一个readyRead信号
    connect(socket,&QTcpSocket::readyRead,this,&Cli::readyRead_slot);
    connect(socket,&QTcpSocket::disconnected,this,&Cli::disconnect_slot);
}

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

//连接服务器按钮对应的槽
void Cli::on_ConnectBtn_clicked()
{
    //获取UI界面的信息
    userName=ui->UserEdit->text();
    QString hostName = ui->IPEdit->text();
    quint16 port = ui->PortEdit->text().toUInt();
    qDebug() << "Connecting to host: " << hostName << " Port: " << port;
    //调用连接函数到主机
    //参数1:要连接的服务器主机地址
    //参数2:端口号
    //返回值:无
    socket->connectToHost(hostName,port);
    //如果连接服务器成功,该客户端回发送一个connected的信号
    //可以将信号连接到自定义的槽函数中处理相关逻辑
    //只连接一次 所有可以写在构造函数中
}

void Cli::connect_slot()
{
    QMessageBox::information(this,"成功","连接服务器成功");
    QString msg = userName + ":进入聊天室";
    socket->write(msg.toLocal8Bit());
}

void Cli::readyRead_slot()
{
    QByteArray msg = socket->readAll();
    //将数据展示在UI界面
    ui->MsgList->addItem(QString::fromLocal8Bit(msg));
}

void Cli::on_SendBtn_clicked()
{
    QString m =ui->MsgEdit->text();
    QString msg = userName+":"+m;
    socket->write(msg.toLocal8Bit());
    ui->MsgEdit->clear();
}

void Cli::on_DisBtn_clicked()
{
    QString msg=userName+":离开聊天室";
    socket->disconnectFromHost();
    //断开连接后 会向服务器发送disconnected信号
}

void Cli::disconnect_slot()
{
    QMessageBox::information(this,"断开成功","断开成功");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/981480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Jetpack 中Hilt的使用

Hilt 是 Android 的依赖项注入库&#xff0c;可减少在项目中执行手动依赖项注入的样板代码。执行 手动依赖项注入 要求您手动构造每个类及其依赖项&#xff0c;并借助容器重复使用和管理依赖项。 Hilt 通过为项目中的每个 Android 类提供容器并自动管理其生命周期&#xff0c;…

图的学习,深度和广度遍历

一、什么是图 表示“多对多”的关系 包括&#xff1a; 一组顶点&#xff1a;通常用V&#xff08;Vertex&#xff09;表示顶点集合一组边&#xff1a;通常用E&#xff08;Edge&#xff09;表示边的集合 边是顶点对&#xff1a;(v, w)∈E&#xff0c;其中v,w∈V有向边<v, w&…

线性代数的学习和整理20,关于向量/矩阵和正交相关,相似矩阵等

目录 1 什么是正交 1.1 正交相关名词 1.2 正交的定义 1.3 正交向量 1.4 正交基 1.5 正交矩阵的特点 1.6 正交矩阵的用处 1 什么是正交 1.1 正交相关名词 orthogonal set 正交向量组正交变换orthogonal matrix 正交矩阵orthogonal basis 正交基orthogonal decompositio…

【微服务】五. Nacos服务注册

Nacos服务注册 5.1 Nacos服务分级存储模型Nacos服务分级存储模型&#xff1a;服务集群属性&#xff1a;总结&#xff1a; 5.2 根据集群负载均衡总结 5.3 Nacos服务实例的权重设置总结&#xff1a; 5.6 环境隔离namespace总结 5.7 Nacos和Eureka的对比总结 5.1 Nacos服务分级存储…

2023年亲测有效----树莓派启动时自动邮件上报ip

2023年亲测 树莓派启动时自动邮件上报ip 首先开启qq邮箱smtp服务shell文件内容启动自动执行python文件注意事项 首先开启qq邮箱smtp服务 然后点击开启就会有授权码 shell文件内容 在自己的shell里&#xff0c;运行echo $PATH&#xff0c;把内容覆盖下面的path。 功能 作用就…

图解系列 图解Kafka之Producer

开局一张图&#xff0c;其他全靠吹 发送消息流程如下&#xff1a; 1.初始化流程 指定bootstrap.servers&#xff0c;地址的格式为 host:port。它会连接bootstrap.servers参数指定的所有Broker&#xff0c;Producer启动时会发起与这些Broker的连接。因此&#xff0c;如果你为这…

点云从入门到精通技术详解100篇-伪雷达点云预测

前言 近年来,“自动驾驶”已经成为一个耳熟能详的词语,它是一种通过车载计 算实现无人驾驶的智能汽车系统。自动驾驶汽车依靠人工智能、视觉计算、视觉 传感器、控制设备和定位系统协同合作,让系统可以在无人主动操作的情况下, 自动安全地操作机动车辆。其中视觉传感器作…

【继RNN之后的一项技术】Transfomer 学习笔记

谷歌团队在17年的神作&#xff0c;论文17年6月发布 https://arxiv.org/abs/1706.03762 被NIPS2017收录&#xff0c;目前引用量已经逼近3w。 以下内容参考李沐老师的课程《动⼿学深度学习(Pytorch版)》 简介 注意力 自主性&#xff1a;有目的的搜索某样东西&#xff08;键&…

Python小知识 - 如何使用Python进行机器学习

如何使用Python进行机器学习 Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。 机器学习是人工智能的一个分支&#xff0c;是让计算机自动“学习”。学习的过程是从经验E中获得知识K。经验E可以是一个数据集&#xff0c;比如一个图像数据集。知识K可以是计算机…

Python爬虫-爬取文档内容,如何去掉文档中的表格,并保存正文内容

前言 本文是该专栏的第58篇,后面会持续分享python爬虫干货知识,记得关注。 做过爬虫项目的同学,可能或多或少爬取过文档数据,比如说“政务网站,新闻网站,小说网站”等平台的文档数据。爬取文档数据,笔者这里就不过多详述,而本文,笔者将主要介绍在爬取文档数据的过程中…

六安RapidSSL泛域名https能保护几个域名

RapidSSL是Geotrust旗下的子品牌&#xff0c;Geotrust是国际知名的CA认证机构&#xff0c;每年都要通过WebTrust年检&#xff0c;而Geotrust旗下的https证书已经应用于市场多年&#xff0c;Geotrust的子品牌RapidSSL证书经营的DV基础型泛域名https证书也受到市场的欢迎。今天就…

MFC新建内部消息

提示&#xff1a;记录一下MFC新建内部消息的成功过程 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 先说一下基本情况&#xff0c;因为要在mapview上增加一个显示加载时间的功能。然后发现是要等加载完再显示时间&#xff0c;显示在主…

动手学深度学习d2l.Animator无法在PyCharm中显示动态图片的解决方案

from d2l import torch as d2l一、问题描述 运行d2l的训练函数&#xff0c;仅在控制台输出以下内容&#xff0c;无法显示动态图片&#xff08;训练监控&#xff09; <Figure size 350x250 with 1 Axes> <Figure size 350x250 with 1 Axes> <Figure size 350x2…

数据结构与算法之贪心动态规划

一&#xff1a;思考 1.某天早上公司领导找你解决一个问题&#xff0c;明天公司有N个同等级的会议需要使用同一个会议室&#xff0c;现在给你这个N个会议的开始和结束 时间&#xff0c;你怎么样安排才能使会议室最大利用&#xff1f;即安排最多场次的会议&#xff1f;电影的话 那…

Fiddler 系列教程(一)初识Fiddler,我们能用fiddler做什么?

Fiddler是最强大最好用的Web调试工具之一&#xff0c;它能记录所有客户端和服务器的http和https请求&#xff0c;允许你监视&#xff0c;设置断点&#xff0c;甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说&#xff0c;都有很大的帮助。 阅读目录 Fiddler的基本介…

23个react常见问题

1、setState 是异步还是同步&#xff1f; 合成事件中是异步 钩子函数中的是异步 原生事件中是同步 setTimeout中是同步 相关链接&#xff1a;你真的理解setState吗&#xff1f;&#xff1a; 2、聊聊 react16.4 的生命周期 图片 相关连接&#xff1a;React 生命周期 我对 Reac…

康耐视visionpro破解版满天飞,那么如何查询康耐视Visionpro加密狗支持哪些工具

目录 第一步骤&#xff0c;点击WinR&#xff0c;弹出命令符第二步骤&#xff1a;输入CMD&#xff0c;回车第三步骤&#xff1a;输入cogtool -p&#xff08;cogtool与-p之间有空格&#xff09;&#xff0c;输入完毕后&#xff0c;记得回车&#xff0c;稍等3秒钟不到。 第一步骤&…

[js] 图解 event.pageX event.clientX event.offsetX getBoundingClientRect

event.clientX、event.clientY 鼠标相对于浏览器窗口可视区域的X&#xff0c;Y坐标&#xff08;窗口坐标&#xff09;&#xff0c;可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性 event.pageX、event.pageY 类似于event.clientX、event.clientY&#xff0c;…

作为一名游戏开发工作者,分享一些工作经验

作为一名游戏开发工作者&#xff0c;有一些重要的心得和经验可以分享&#xff0c;这些经验可以帮助你更好地在游戏开发领域取得成功&#xff1a; 学习不断进步&#xff1a;游戏开发是一个不断演进的领域&#xff0c;你需要不断学习新的技术和工具。跟踪最新的游戏开发趋势&…

Excel VSTO开发2 -建立Excel VSTO项目

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 2 建立Excel VSTO项目 新建项目&#xff0c;选择Excel 2013和2016 VSTO外接程序。输入项目名称&#xff08;本示例的项目名称为&am…