【Qt】项目开发遇到问题及解决总结

1.控件的触发:toggle()、triggered()、clicked()

区别:
都是按钮点击后发射的信号

  • clicked():用于Button发射的信号
  • triggered():用于QAction发射的信号, trigger是一次性的。 点击后,无法改变状态。 要么是打开,要么是关闭。原型:void triggered(bool checked = false);
  • toggle():用于ChekBox,类似开关。 具有2个状态,打开/关闭。 使用这个信号,是在这2个状态之间切换。原型:void toggled(bool);

2. QT TCPServer停止监听后仍能接收数据问题

调用tcpserver的close函数后,已经连接的客户端仍能向服务端发送数据,源码为

 tcpServer->close();//停止监听

解决:
加入代码

tcpSocket->deleteLater();

解决继续接收数据问题。
补充:
官方说明:
close()
是关闭服务器。服务器将不再侦听传入连接。
deleteLater()
计划删除此对象。
当控件返回到事件循环时,该对象将被删除。如果调用此函数时事件循环未运行(例如,在QCoreApplication::exec()之前对对象调用deleteLater()),则一旦事件循环启动,该对象将被删除。如果在主事件循环停止后调用deleteLater(),则不会删除该对象。由于Qt 4.8,如果deleteLater()是在一个没有运行事件循环的线程中的对象上调用的,那么当线程结束时,该对象将被销毁。
请注意,进入和离开新的事件循环(例如,通过打开模式对话框)将不会执行延迟删除;对于要删除的对象,控件必须返回调用deleteLater()的事件循环。

注意: 多次调用此函数是安全的;当传递第一个延迟删除事件时,该对象的任何挂起事件都将从事件队列中删除。

3.保存串口接收的数据为txt文本文件

界面情况-将串口传递到服务器中显示的数据另存为txt文本文件。
控件:QPlainTextEdit
按钮-对象名:export_txt
输出:txt文本文件

实现代码如下:
首先直接使用ui界面对按钮进行转到槽处理,然后对按钮槽函数进行实现。

void administratorMainWindow::on_export_txt_clicked(){
    QString textFile = QFileDialog::getSaveFileName(this,tr("Save txt"),                                                      "",tr("text (*.txt)")); //选择路径
       //将文本框数据取出并按行排列
      QFile file(textFile);//文件命名
      if (!file.open(QFile::WriteOnly | QFile::Text))     //检测文件是否打开
      {
          QMessageBox::information(this, "Error Message", "Please Select a Text File!");
          return;
      }
      QTextStream out(&file);                 //分行写入文件
      out << ui->plainTextEdit->toPlainText();

}

运行界面:
运行
结果:
结果
此处参考文章,点击查看

4.qt QTextEdit 设置只读,设置不可选中

 ui->textEdit->setReadOnly(true);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【案例教程】基于RWEQ模型的土壤风蚀模数估算及其变化归因分析实践技术

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一&#xff0c;土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2&#xff0c;占国土总面积的16.7%&#xff0c;严重影响这些地区的资源开发和社会经…

论文笔记|ECCV2022:Self-Promoted Supervision for Few-Shot Transformer

论文地址&#xff1a;https://arxiv.org/abs/2203.07057 代码链接&#xff1a;https://github.com/DongSky/few-shot-vit 这篇论文在2022年发表在ECCV上&#xff0c;论文的题目是用于小样本Transformer的self-promoted supervision&#xff08;自我推荐监督&#xff09; 1 Mot…

求给定集合中好数对的个数

已知一个集合A&#xff0c;对A中任意两个不同的元素求和&#xff0c;若求得的和仍在A内&#xff0c;则称其为好数对。例如&#xff0c;集合A{1 2 3 4}&#xff0c;123&#xff0c;134&#xff0c;则1,2和1,3 是两个好数对。 编写程序求给定集合中好数对的个数。 注&#xff1a;…

java设计模式(1) 适配器模式、装饰器模式

适配器模式 适配器就是一种适配中间件&#xff0c;它存在于不匹配的了两者之间&#xff0c;用于连接两者&#xff0c;使不匹配变得匹配。 手机充电需要将220V的交流电转化为手机锂电池需要的5V直流电 知识补充&#xff1a;手机充电器输入的电流是交流&#xff0c;通过变压整流…

XML复习

目录什么是XMLXML中的内容可以干什么XML文件的创建以及其格式XML的文档约束-DTD约数XML的文档约束-schema约束Dom4J 解析XML 文档什么是XML XML 全称(extensible Markup Lanage) 可扩展标记语言它是一种数据的表示形式, 可以存储复杂的数据格式以及我们自己定义的格式.XML经常…

windows安装ubuntu时错误WslRegisterDistribution failed with error: 0x8007023e的解决方法

cmd或者powershell安装&#xff0c;或者打开linux时 莫名的出现了如下错误&#xff1a; Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x8007023e Error: 0x8007023e {Application Error} The exception s (0x尝试了很多的方法都不…

Qt图片显示有波纹

现象 Qt中当渲染显示的分辨率比原图片分辨率小时&#xff0c;就会有波纹。如下图所示&#xff0c;左边是正常显示&#xff0c;右边衬衫那里产生严重的波纹。这种波纹在计算机图形学叫摩尔纹&#xff0c;这是纹理贴图采样出现走样的现象&#xff0c;纹理分辨率过大时就会出现这…

解决Windows微信和 PowerToys 的键盘管理器冲突

Windows开机之后PowerToys能正常使用, 但是打开微信之后设置好的快捷键映射就全部失效了 打开微信 -> 左下角三条杠 -> 设置 -> 快捷键 首先我把微信的快捷键全部清空了,发现还是没用 然后发现了设置里默认勾选了检测快捷键,我在想程序肯定是一直在后台检测,而powerTo…

可以计算“如何把程序写好”吗?

其实简单理解这个问题就是“可不可以用机器来判断人的程序写得好不好&#xff1f; 后面我查阅了资料&#xff0c;历史上有一个对计算机领域影响颇深的可计算理论&#xff0c;“计算”应该就来源于这里。其实继续深挖还能找出很多涉及计算机本源的有趣的知识&#xff0c;比如图…

异构计算给我们带来了哪些思考?

虽然异构计算的快速发展给企业创新带来了更加强大的算力支撑&#xff0c;但真正推动异构计算的高速发展和应用落地&#xff0c;笔者认为还需要在以下三个方面做好功课。 从2022年火爆全球的元宇宙&#xff0c;到今年的ChatGPT&#xff0c;以人工智能为代表的科学技术正在创造出…

Unity Animation -- 改进动画效果

使用曲线&#xff08;Curves&#xff09;改善动画 在上一篇笔记中&#xff08;Unity Animation -- Overview_亦枫Leonlew的博客-CSDN博客&#xff09;&#xff0c;我们制作了简单的小球弹跳的动画&#xff0c;但这个动画看起来很不自然&#xff0c;小球的弹跳看起来就像是不受…

Vue3信息提示(Modal)

Vue2信息提示&#xff08;Modal&#xff09; 可自定义设置以下属性&#xff1a; 标题描述&#xff08;title&#xff09;&#xff0c;类型&#xff1a;string&#xff0c;默认 Title 内容描述&#xff08;content&#xff09;&#xff0c;类型&#xff1a;string&#xff0c;…

盲盒经济下与社交电商结合,打造电商卖货新模式

如今&#xff0c;盲盒经济正在从线下延伸到线上&#xff0c;从潮流玩具扩展到美妆、食品、服装、数码等领域&#xff0c;形成了一种新的电商生态。 什么是盲盒电商&#xff1f; 盲盒电商是一种电商行业的营销模式&#xff0c;通过发起盲盒活动或拆盲盒&#xff0c;让参与者不…

MongoDB 查询文档(3)

我们之前讲解过&#xff0c;查询文档的语法&#xff1a; db.collection.find(query, projection, options) 其中 query 代表的是查询过滤器&#xff0c;projection 代表的是文档返回的字段&#xff0c;options 代表的是用于查询的其他选项&#xff1b; 我们已经对query进行了…

Ubuntu16.04虚拟机下安装Qt5.10.0

首先安装虚拟机Vmware,具体参见: Win10安装Vmware+Ubuntu16.04_芯片-嵌入式的博客-CSDN博客 安装完成后,下载qt-opensource-linux-x64-5.10.0.run,使用U盘来实现win10和ubuntu虚拟机之间的文件传输,cp到一个目录后,sudo ./qt-opensource-linux-x64-5.10.0.run进行运行,…

I/O多路转接之select

初识select 系统提供select函数来实现多路复用输入/输出模型.* select系统调用是用来让我们的程序监视多个文件描述符的状态变化的; * 程序会停在select这里等待&#xff0c;直到被监视的文件描述符有一个或多个发生了状态改变;select函数原型 select的函数原型如下: #include …

SpringCloud 使用sentinel

一、添加依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> 二、配置文件配置地址 spring:cloud:sentinel:transport:dashboard: localhost:8080三…

【CSS】课程网站 网格商品展示 模块制作 ① ( 网格商品展示模块盒子模型测量及样式 | 顶部文本标题盒子测量及样式 | 代码示例 )

文章目录一、网格商品展示模块盒子模型测量及样式1、盒子尺寸测量2、标题盒子尺寸测量和样式3、左侧文本盒子尺寸测量和样式4、右侧文本盒子尺寸测量和样式二、顶部文本标题盒子代码示例1、HTML 标签结构2、CSS 样式3、展示效果绘制矩形框中的部分 : 一、网格商品展示模块盒子…

【服务器数据恢复】NTFS分区被格式化如何恢复数据?

服务器数据恢复环境&故障&#xff1a; 误操作格式化服务器RAID5磁盘阵列下的分区&#xff08;NTFS文件系统&#xff09;。 服务器数据恢复过程&#xff1a; 1、将故障服务器连接到北亚企安备份服务器上&#xff0c;将故障服务器的所有硬盘设置为脱机状态&#xff0c;然后以…

什么是中间件?

一、什么是中间件&#xff1f; 1、百度百科 中间件是介于应用系统和系统软件之间的一类软件&#xff0c;它使用系统软件所提供的基础服务&#xff08;功能&#xff09;&#xff0c;衔接网络上应用系统的各个部分或不同的应用&#xff0c;能够达到资源共享、功能共享的目的。目…