自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (1)
  • 收藏
  • 关注

原创 【QT】QT编写应用的界面自适应分辨率的解决方案

网上找到的简单可行方案,实现步骤如下:step1:工程目录下新建qt/etc/qt.conf文件,写入如下内容.step2:将其加入资源文件中,即添加Qt Resource File,如下图所示step3:编译,在测试机上发现问题解决。缺点: 在客户机上对比,发现自适应后的界面上字体清晰度不如之前。

2024-07-10 15:54:14 233

原创 【QT】QTableWidget里的cellDoubleClicked(int,int)和itemDoubleClicked(QTableWidgetltem*),QTableWidgetItem对象

【QT】QTableWidget里的cellDoubleClicked(int,int)和itemDoubleClicked(QTableWidgetltem*),QTableWidgetItem对象

2024-07-03 15:30:13 321

原创 【QT】QCheckBox的click、clicked 和 animateClick

click():这是一个槽函数。调用它会模拟一次点击动作,立即切换复选框的状态,并发出clicked信号。clicked:这是一个信号。当用户点击复选框时,无论状态如何改变,都会发出此信号。信号携带一个布尔参数,表示复选框的状态(选中或未选中)。:这是一个槽函数。调用它会模拟一次点击动作,并在指定的时间内显示点击动画。这种方式下也会发出pressedreleased和clicked信号。通过这些方法和信号,您可以灵活地控制和响应QCheckBox的点击事件。

2024-07-01 09:27:39 184

原创 【QT】QCustomPlot库中iSelectPlottables的使用

QCP::iSelectPlottables 是 QCustomPlot库中的一个枚举值,用于控制选择交互。是一个用于创建绘图和数据可视化的Qt库。允许用户选择图表中的绘图对象(如图形、曲线、柱状图等)。

2024-06-25 11:20:47 303

原创 【QT】qcustomplot的清除图层里表数据的方法,及错误分析

该容器提供了对图表数据的访问。方法返回的是一个智能指针,智能指针的。方法将返回其原始指针。返回原始指针,从而允许调用。访问并清除底层数据。

2024-06-21 15:24:47 380

原创 【QT】C++单冒号‘:’和双冒号‘::’的大白话讲解

在C++编程中,双冒号 () 和单冒号 () 是 各自有不同的用途。

2024-06-19 17:24:21 532

原创 【QT】C++ || 左值引用、右值引用、移动语义、完美转发

左值引用是指向一个已有对象的引用,可以通过左值引用对对象进行修改。左值是指一个有持久内存地址的对象。右值引用是用于引用一个将要被销毁的临时对象,右值是指那些没有持久内存地址的对象(如临时对象、字面值、表达式的结果)。移动语义通过右值引用()实现资源的移动,避免不必要的拷贝,提高性能。完美转发通过保持参数的原始属性,实现高效调用。语法是编程语言的规则和结构,规定了如何正确书写代码。语义是程序的意义和行为,描述了代码在运行时的效果和功能。理解这些概念对于编写高效、健壮的C++代码至关重要。

2024-06-19 09:34:00 738

原创 【QT】浅析Qt应用程序的主函数,Qt应用程序启动流程

为了更好地理解,假设int id;// 其他成员变量初始化Qt应用程序对象。注册自定义类型以便在Qt的元对象系统中使用。创建并显示主窗口。启动事件循环,等待和处理用户事件。这段代码是一个标准的Qt应用程序启动流程,确保了应用程序正确初始化和运行。注册自定义类型使得这些类型可以在信号和槽、以及其他需要元对象系统支持的地方使用。

2024-06-07 11:10:26 734

原创 【QT】qcombox的信号使用小细节,activated(int)和currentIndexChanged(int)

仅在用户通过界面选择项时触发,不包括程序代码修改当前选项的情况。在任何当前索引变化时都会触发,包括用户交互和程序代码修改。通过这两个信号的区别,可以根据不同的需求选择合适的信号来处理QComboBox的变化。例如,如果需要在用户选择时进行特定操作而不考虑代码修改,可以使用;如果您需要在任何索引变化时都进行处理,则使用。

2024-05-30 14:52:36 664

原创 【QT】QStackedWidget一利器,常在项目中的使用

是 Qt 中用于层叠多个子窗口或页面的部件,但只显示其中一个。这个组件通常用于创建具有多个步骤或多个不同视图的向导式界面。用户可以切换视图,但一次只能看到一个视图。

2024-04-29 15:39:32 1046

原创 【QT】QPointF、QRectF、QPolygonF 介绍

QPointF确实存在于 Qt 框架中,它是一个类,用于表示二维空间中的一个点,其中包含了浮点精度的 x 和 y 坐标。

2024-04-24 14:11:45 1387

原创 【QT】串口通信,usb通信QSerialPort::TimeoutErro超时问题

在处理时,通常不需要重启整个软件。这种错误通常指出在进行串口操作(如读取或写入)时超时,但它不一定意味着串口设备出现了不可修复的错误。应该根据具体的错误情况采取合适的错误恢复策略。

2024-04-24 09:54:54 716

原创 【QT】QtConcurrent的使用介绍,与std::thread的区别

线程管理使用 Qt 的线程池,对于多数应用场景来说,这简化了线程的使用并优化了资源管理。提供更基础和直接的线程控制,适用于需要手动管理线程生命周期的情况。集成与兼容性与 Qt 的其他部分(如事件循环)集成良好,特别适用于 Qt 应用程序。是 C++标准的一部分,可以在任何 C++项目中使用,不依赖于 Qt。错误处理和安全性使用可以较容易地通过QFuture监视线程状态,而使用通常需要开发者自行处理线程同步和错误管理。根据具体需求选择合适的工具,如果是在 Qt 环境中并且不需要精细控制线程行为,

2024-04-22 10:43:08 756

原创 【C#】防御性编程策略float.TryParse()

方法的做法在处理可能不是有效数字的输入数据时非常有用,因为它允许程序继续执行而不是因为异常而中断。这是一种常见的防御性编程策略,确保数据解析的健壮性和程序的稳定性。方法,这是一个非常常用的方法,用于在转换时提供错误处理,以避免在无法转换字符串时引发异常。这行C#代码用于尝试将一个字符串转换成浮点数(

2024-04-17 15:48:08 436

原创 【QT】关于qcheckbox常用的三个信号,{sstateChanged(int) clicked() clicked(bool)}达成巧用

使用时,可以精确到复选框的三种状态变化,适用于需要区分未选中、部分选中和完全选中状态的场景。使用无参数的clicked()时,仅需要知道复选框被点击,而不关心其状态如何变化。使用时,可以直接获得复选框改变后的选中状态(是或否),适用于需要根据复选框的最新状态执行操作的场景。这些信号为开发者提供了灵活的方式来处理用户与复选框的交互。

2024-04-16 15:01:17 1740

原创 【QT】QChartView和QChart的一些图表设置

在 Qt Charts 中,QChartView类提供了一些方法和属性来控制图表的渲染和交互行为。这些方法包括和,它们分别用于改善图表的视觉质量和增加图表的交互性。

2024-04-16 11:24:37 843

原创 【QT】Qt Charts的实际使用中的一些小细节完善如:resetZoom、fitInView

在Qt中, 使用 Qt Charts来创建和操作图表,重置图表缩放状态的功能可以通过调整图表视图的缩放比例来实现。Qt Charts中的。具体实现可能需要根据你的应用程序的实际架构和需求进行调整。另外,确保你的Qt项目包含了Qt Charts模块。扩展的部分:可以根据窗口的大小变化自动调整图表的大小和比例,以确保图表始终适合可视区域。提供了相关的方法来控制图表的缩放和平移。是重置图表视图的缩放到默认状态。,当点击这个按钮时,会触发图表视图的缩放重置。需要替换为实际的窗口尺寸变化事件或信号。

2024-04-09 15:07:22 351

原创 【QT】QChart初步使用;QChart、QLineSeries 和 QChartView的关系讲解

是三个核心组件,它们共同工作以创建和显示图表。简而言之,创建数据系列来存储数据,使用。则容纳和管理一个或多个数据系列(如。来组织和处理这些系列,然后通过。在 Qt Charts 框架中,在用户界面中展示这个图表。

2024-03-29 14:06:00 657

原创 【QT】对比C#的ArrayList,qt中也有自己的通用容器(若有误,恳请直接指出)

在Qt中,可以使用QList或来代替C#中的ArrayList。QList是Qt中的一个通用容器类,类似于C#中的List,但它不是类型安全的。另一方面,是的别名,用于存储可以包含任何类型的QVariant对象的列表。由于您的C#代码中ArrayList存储了不同类型的数据(整数和字符串),在Qt中使用可能更合适。

2024-03-06 17:11:12 562

原创 【QT】QTableView或QTableWidget 搭配QLineEdit实现数据的搜索显示

如果需要处理的数据量较大,或者需要高度定制化的表格(例如,不同类型的数据,复杂的渲染逻辑等),QTableView配合自定义模型和过滤器模型是更合适的选择。如果你的需求相对简单,数据量不大,通过手动过滤可能就足够了。在任何情况下,实现搜索功能通常涉及到监听搜索框的输入变化(例如使用QLineEdit),然后根据输入的内容更新表格的显示。在QTableView的情况下,这通常意味着设置过滤器模型的过滤规则;而在的情况下,则可能需要遍历表格项并手动隐藏或显示行。

2024-03-01 14:35:57 1126

原创 【QT】• QSerialPort的waitForBytesWritten和waitForReadyRead使用

类中的和是同步阻塞函数,用于等待串口写入操作完成和等待新数据可读取。这些函数在特定情况下非常有用,但它们的使用需要根据具体的应用场景和通信需求来决定。

2024-02-27 17:46:01 2361 2

原创 【QT】关于QSerialPort的错误处理 (Error Handling)及错误类型

是 Qt 框架中用于串口通信的类,它提供了与串行端口进行数据读写和配置的功能。这个类封装了底层操作系统对串口的处理,使得开发者可以方便地在跨平台应用中实现串口通信。

2024-02-27 17:34:40 2488

原创 【C++】标准库函数std::move

移动语义(Move Semantics)是C++11中引入的一种机制,允许资源(如动态分配的内存、文件句柄、套接字等)从一个对象转移到另一个对象。这种机制可以提高性能,避免在对象赋值或传递时的不必要的资源复制。

2024-02-21 14:23:20 414

原创 【C#】Int32.Parse()、Int16.Parse()

都是 C# 中用于将字符串转换为整数的方法,分别用于处理 32 位整数和 16 位整数。在实际使用中,选择使用哪个方法取决于你的需求和数据的范围。如果你需要处理大范围的整数,可以选择。这两个方法的作用是相似的,都用于将字符串中的数字部分解析为整数。如果你知道数据不会超过 16 位整数的范围,可以选择。处理的整数范围更大,可以表示更大的整数值,而。如果字符串表示的整数超出了。

2024-01-17 17:51:03 832

原创 【QT】C++和C#在运算符上的一些区别

buffStr.Contains( “40”)) & (string.IsNullOrEmpty(pStr))和(!buffStr.contains( “40”)) && (pStr.isEmpty())总的来说,这两个表达式在逻辑上是相同的,只是在具体的语法和操作符选择上有所不同,因为它们分别属于不同的编程语言。这两个表达式是在不同的编程语言中使用的,并且它们在逻辑上是等效的,但具体的语法和风格有所不同。为空,那么条件成立。逻辑上,这两个表达式的含义是相同的,都表示如果。不包含特定的字符串(

2024-01-16 15:38:06 449

原创 【QT】qt中存储任何类型的数组QVector

为我们提供了动态数组的功能,允许我们在运行时灵活地管理和访问数据。是一个动态数组类,可以存储和管理任何类型的数据。,分别存储整数、字符串和自定义类型(类来存储任何类型的数组。在Qt中, 可以使用。创建了三个不同类型的。

2024-01-10 13:54:38 700

原创 【QT】发生的运行时错误汇总

错误原因:QObject是可重入的,它的大多数非GUI子类,例如QTimer, QTcpSocket, QUdpSocket and QProcess都是可重入的,使得这些类可以同时用于多线程。需要注意的是,这些类设计为从一个单一的线程创建和使用的,在一个线程创建对象,而从另外一个线程调用对象的函数并不能保证行得通。本例中成员变量QTimer是在主线程创建对象时创建的,但是是在run函数中调用,run函数运行在另一个线程中,所以提示错误。这个错误说明程序中有野指针,断点以下很容易找出错误。

2024-01-03 17:13:59 770

原创 【QT】return 和 break 是 C++ 中两个不同的关键字,它们在程序中有不同的用途。

【代码】【QT】return 和 break 是 C++ 中两个不同的关键字,它们在程序中有不同的用途。

2024-01-03 16:12:21 644

原创 【QT】中常见的信号槽使用错误汇总

/ 正确示例 QObject::connect(sender, SIGNAL(someSignal()), receiver, SLOT(slotInDifferentThread()), Qt::QueuedConnection);// 使用Qt::QueuedConnection来处理跨线程连接。// 未处理跨线程连接。// 错误示例 QObject::connect(button, SIGNAL(clicked()), this, SLOT(showMessage()));

2024-01-03 15:47:19 699

原创 【QT】QString类型中,Empty和NULL有什么区别在qt里,对比C#

两者效果是一样的,都会创建一个不包含任何字符的空字符串。在实际使用中,使用默认构造函数更为常见。对象可能是空字符串,即包含零个字符,但它不是一个空指针。在 Qt 中,字符串不是通过指针来表示的,因此不存在与 C# 中的。如果需要检查指针是否为空,可以使用 C++ 中的。方法来检查字符串是否为空,而不是使用。总体而言,要检查字符串是否为空,应使用。在 Qt 的字符串处理中,通常使用。用于检查字符串是否为空。方法来检查字符串是否为空。在 Qt 中,表示一个空的。来确定字符串是否为空。

2024-01-03 15:29:10 1198

原创 【QT】线程模型、事件机制、信号槽机制 讲解

信号槽机制是 Qt 中一种用于对象间通信的机制,它通过信号(signal)和槽(slot)的连接实现。这种机制允许一个对象(信号发射者)在特定的情况下发射信号,而另一个对象(槽接收者)则通过连接到这个信号的槽函数来接收并处理这个信号。在 Qt 中,事件是由对象发出的信号,其他对象通过槽函数来处理这些信号。否则,事件将传递给事件接收者的父对象,直至到达顶层父对象或者某个对象明确地处理了该事件。Qt 的事件机制是一种基于事件驱动的编程模型,它用于处理用户输入、定时器事件、系统事件等。类的对象通常是事件接收者。

2024-01-02 15:19:00 1304

原创 【GIT】git describe \git rebase

感受:https://learngitbranching.js.org/?locale=zh_CN 其中过的多次rebase关卡可以让你很好的理解rebase的使用。解释:git rebase 是 Git 中一个强大而灵活的命令,用于整理和修改提交历史。它允许你将一系列提交应用到另一个分支上,或者重写历史以改善提交的结构。git rebase的使用。

2023-12-28 21:38:25 373

原创 【QT】qt的智能指针

std::shared_ptr:使用引用计数,每一个shared_ptr的拷贝都指向相同的内存,每次拷贝都会触发引用计数+1,每次生命周期结束析构的时候引用计数-1,在最后一个shared_ptr析构的时候,内存才会释放。std::weak_ptr:用来监视shared_ptr的生命周期,它不管理shared_ptr内部的指针,它的拷贝析构都不会影响引用计数,纯粹是作为一个旁观者监视shared_ptr中管理的资源是否存在,可以用来返回this指针和解决循环引用问题。

2023-12-28 14:26:02 1493

原创 【QT】QList<T>list 为例,移动赋值(Move Assignment)和拷贝赋值(Copy Assignment)

移动赋值(Move Assignment)和拷贝赋值(Copy Assignment)是关于对象在赋值操作中如何处理资源所有权的两个不同的概念。

2023-12-28 10:52:40 1204

原创 【QT】qt中多线程的使用

目标类继承QThread 覆写虚函数function run()qt中对应的多线程的使用举例。

2023-12-26 17:11:01 727

原创 【QT】单例模式,Q_GLOBAL_STATIC 宏的使用和使用静态成员函数,eg:{简单的日志记录器}

简单的日志记录器为例。创建一个Logger类,该类负责记录应用程序的日志消息。

2023-12-26 16:44:37 862

原创 【C#】C#中System.Timers.Timer定时触发事件的计时器类,运用

设置定时器属性: 设置定时器的属性,主要包括 Interval(触发事件的时间间隔)和 AutoReset(指定是否重复触发事件)。创建 Timer 实例: 使用 new System.Timers.Timer() 创建一个新的定时器实例。System.Timers.Timer 类用于创建定时器,它可以在指定的时间间隔内触发事件。订阅 Elapsed 事件: 使用 Elapsed 事件来定义在时间间隔到达时执行的操作。停止定时器(如果需要): 可以使用 Stop 方法停止定时器。

2023-12-26 10:33:50 1463

原创 【QT】C#中System.Timers.Timer定时触发事件的计时器类,qt与之对应的QTimer类的使用举例

一个桌面应用程序,该应用程序需要定期更新一些数据,以确保用户始终看到最新的信息。

2023-12-26 10:14:31 564

原创 【C#】关于一个用于定时触发事件的计时器类System.Timers.Timer的使用,eg:{定期从远程服务器获取数据}

System.Timers.Timer: 这是 .NET Framework 中的一个计时器类,用于在指定的时间间隔内触发事件。它通常用于执行周期性任务。

2023-12-25 17:17:32 446

原创 【C#】关于事件的使用ii,eg:{婚礼策划公司的组织者}

事件的用法: 你创建了一个婚礼策划事件,并邀请了音乐师、花店、摄影师等作为订阅者。当婚礼日期临近时,你触发婚礼策划事件,所有订阅者会按照自己的职责做好准备。场景: 假设你是一家婚礼策划公司的组织者,你需要安排婚礼的各个方面,如音乐、鲜花、照片等。

2023-12-25 15:15:47 403

基于多态的企业职工系统资料.zip

基于多态的企业职工系统资料

2024-01-29

C++实战练手-通讯录管理系统-源码

【C++】实战练手--通讯录管理系统 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C++来实现一个通讯录管理系统 系统中需要实现的功能如下: * 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人 * 显示联系人:显示通讯录中所有联系人信息 * 删除联系人:按照姓名进行删除指定联系人 * 查找联系人:按照姓名查看指定联系人信息 * 修改联系人:按照姓名重新修改指定联系人 * 清空联系人:清空通讯录中所有信息 * 退出通讯录:退出当前使用的通讯录

2024-01-26

QSerialport多线程方法

QSerialport多线程方法 使用Qt也已经有一段时间了,虽然使用过继承QThread重写run函数,以及继承QObject然后使用MoveToThread两种方法实现多线程,但是在QSerialPort的使用过程中,两种方法都存在一定的问题。 典型的问题: QObject: Cannot create children for a parent that is in a different thread. QObject::startTimer: Timers cannot be started from another thread 原因:在主线程中创建了QSerialPort对象在子线程中调用,或者在子线程中创建然后在主线程中调用了。 对于继承QThread重写run函数的情况,往往容易在run外部定义QSerialport *port = new QSerialport()对象,然后在run中调用port->readAll()等函数,然而根据QThread的特性,只有run函数才运行在新的子线程中,所以这里就跨线程调用了 QSerialport对象,会出现上述报错。

2024-01-08

关于整合SSM的思维导图

这是详情对于之前文章https://blog.csdn.net/weixin_44939430/article/details/105702376?spm=1001.2014.3001.5501 的一个整体文件描述

2022-01-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除