- 博客(24)
- 收藏
- 关注
原创 Python 编程之Logging 日志
Logging库是python的一个自带库,也就是不需要安装就能直接使用的库,因此可以直接在程序的开头直接导入logging库即可使用无需安装。可以看到在当前目录下,生成了一个log文件夹,且文件夹下生成两个.log文件。Logging模块的基础配置。
2025-01-09 17:37:55
164
1
原创 基于python编程之tkinter、matplotlib绘制波形图
创建一个tk.Frame用来存放波形图设置一个曲线主窗口,存放曲线画布与曲线工具窗口。
2025-01-06 22:40:18
553
原创 python编程之多线程
一个线程完整的生命周期包括新建——就绪——运行——阻塞——死亡。新建:即新创建一个线程对象就绪:调用start方法后,线程对象等待运行,什么时候开始运行取决于调度运行:线程处于运行状态阻塞:处于运行状态的线程被堵塞,通俗理解就是被卡住了,可能的原因包括但不限于程序自身调用sleep方法阻塞线程运行,或调用了一个阻塞式I/O方法,被阻塞的进程会等待何时解除阻塞重新运行死亡:线程执行完毕或异常退出,线程对象被销毁并释放内存。
2024-12-31 22:01:04
320
原创 python GUI开发之tkinter
布局管理器,允许你将控件放置在一个表格一样的网格中。可以指定行和列,以及行和列的权重(weight),用于控制网格在窗口大小改变时的伸缩行为。GUI 库中,有几种不同的方法来管理控件的布局,通常使用。在 Python 的。
2024-12-29 13:50:37
237
原创 QT平台使用QCustomPlot绘制波形图
1、下载QCustomPlot源码,本次使用的是QCustomPlot 2.1.1版本。下载解压后会得到一个.h文件和一个.cpp文件。后续需要将其添加到工程项目中。
2024-12-25 16:24:57
900
1
原创 在Qt项目中添加资源文件夹
在Qt项目中添加和管理资源文件夹。这使得你的资源文件可以被打包到你的应用程序中,而不需要将它们作为外部文件分发。(1)在你的项目目录中创建一个新的文件夹,通常命名为resources,但你也可以根据需要命名。例如:我添加了一个存放图片的文件夹。(2)将你的资源文件(如图片、音频文件等)复制到这个新创建的文件夹中。(3)右键点击你的项目文件夹,在Qt Creator中选择“添加新文件或项目...”,给你的资源文件一个名字,例如。
2024-12-23 18:21:15
787
原创 Qt中QMainWindow的使用
状态栏显示信息的类型一般分为3种1、普通信息,可以用QLabel做载体。2、永久信息,文本会一直显示在状态栏的最右边。3、临时的信息,指定信息显示多久,时间一到信息消失,毫秒为单位,1000为一秒。
2024-12-18 21:42:09
475
原创 GitLab的基本使用
在第一次推送到远程仓库时,使用“git push -u origin 远程分支名”,之后就可以直接使用“git push origin 远程分支名”执行。命令来创建一个新的本地分支并切换到该分支,同时指定远程分支作为上游(tracking branch)。这将切换到那个特定的提交,你可以查看或恢复到那个版本的状态,指定哈希值的代码已经拉取成功。如果你不想设置上游分支,但仍然想推送到特定的远程分支,你可以使用。1、定位到你的本地仓库(如果还没有,先定位到包含你项目代码的本地仓库的目录拉取代码)
2024-12-18 18:43:18
1995
原创 c++中lambda表达式的用法
捕捉器这一块,如果使用按值传递,就相当于在表达式定义那一刻,表达式内部就copy了一份变量,而且值永远不变,即使表达式被多个地方调用,外部变量的变化不影响内部,如果想在表达式内部改变变量的值,需要加mutable关键字;如果是按引用传递,那么表达式使用的值就是外部的变量的值,外部的变量值改变,那么表达式内部得到的值也会改变,表达式内部也可以改变该变量,而且不需要加mutable关键字。具体地,捕捉列表描述了上下文中哪些数据可以被Lambda使用,以及使用方式(以值传递的方式或引用传递的方式)。
2024-12-18 17:54:53
304
原创 Qt平台自动化项目开发基础框架
语句,#号前面的字符串将会生成 ”log_motor1+当前日期“ 文件,且#号前面的字符串会生成日志信息为 ”load ok“。共享数据在主控制线程中创建(new),指向共享数据的指针被传递到外设模块的线程中)在recordMessage函数中设置了日志的命名格式,代码中可采用qDebug()输出记录信息,例如。手动控制界面有可能被打开多个,因此手动控制界面有一个专属的界面id,以区别是被谁打开的。外设模块主要的任务是实现与主控制线程的数据传输以及自身的任务执行。主控制线程主要负责调度外设的运行逻辑。
2024-11-02 18:22:12
685
原创 C++中,引用作为函数的形参
您可以直接传递变量,因为引用就是变量的别名,引用和指针是C++中不同的概念。引用的使用更简单,也更安全,因为它们不允许。当您使用引用作为函数参数时,不需要使用。
2024-10-26 09:40:25
157
原创 在QT中,UI界面创建了线程A,线程A创建了线程B,那么线程B的数据怎么同步到UI界面。
在线程A(controlThread)中,建立与线程B(motorControlThread )的信号与槽机制;)传递数据,你应该使用信号和槽机制。这不仅可以帮助你安全地在线程之间传递数据,还能保持代码的清晰和易于维护。假如线程A是controlThread,线程B是motorControlThread;,并且定义了必要的信号来传递数据。在Qt中,如果你想从子线程(例如。中连接这些信号到相应的槽函数。的构造函数中,你需要创建。类的对象)向主窗口(类需要传递一些数据给。
2024-10-25 21:13:45
175
原创 QT中如何在一个界面中调用另一个界面的控件
创建QWidget指针,指向Widget界面。使用findChild来查找命名为tabWidget的QTabWidget控件,如果找到了,便用一个QTabWidget类型的指针指向它。// 定义一个管理 Widget 对象的指针。controlCenterWidget->tabWidget(空间名称)->setCurrentIndex(0)[要执行的操作];Widget界面中接收数据。中,发送一个自定义信号。
2024-10-18 19:42:54
1088
原创 在python中import本地文件报错:ModuleNotFoundError: No module named ‘XXXXXX‘
这个文件可以是空的,但它的存在告诉 Python 解释器该目录应被视为一个包。错误,这通常与 Python 的模块导入机制和文件路径设置有关。是一个有效的 Python 包,它应该包含一个。测试代码时,代码能够正常运行,但是当尝试通过。目录中,你可以临时将该文件的目录添加到。不在当前工作目录或 Python 的。方法2:python有个精妙的文件名为。比如某多个路径下定义了多个重要的文件。当你在 VSCode 中使用。导入同一个文件时出现。
2024-09-19 19:31:58
433
原创 Qt中如何将十六进制字符串“00 FF CD 00“转为数值类型
注意:如果字符串为"FF FF FF FF" value转化出来的值本应该为-1;但是toInt接口会报错,它只能转化0~7F FF FF FF之间的正数;(int类型可表示的最大正数值为7F FF FF FF)3、数据在计算机中都是以补码的方式进行存储的,因此采用uint进行转化,最后将uint数值转为int类型,这样就可以得到一个负数了!1、将字母转为大写并检查字符串中是否含有不合法的字符(0~9 A~F)例如:"00 FF CD 00" 占四个字节,对应 int 类型;
2024-08-24 18:51:24
281
原创 C++中智能指针
在C++中,智能指针主要用于自动管理动态分配的内存,以防止内存泄漏和其他内存管理错误。智能指针的使用减少了手动管理内存的需要,提高了代码的安全性和可读性。在现代C++开发中,推荐使用智能指针来代替传统的裸指针。(已在C++17中弃用,推荐使用。
2024-08-19 16:26:32
282
原创 QT中线程之间的通讯
假设我们有一个共享的队列,生产者线程将数据添加到队列中,而消费者线程从队列中取出数据。在Qt中,Widget窗体通常运行在主线程(GUI线程)中,而其他线程用于执行长时间运行的任务或后台操作,以避免阻塞GUI线程。请注意,跨线程通信时,应确保数据的同步和线程安全,避免竞态条件和死锁。使用上述方法之一或组合,可以实现Widget窗体和其他线程之间的数据传递。: 使用互斥锁(QMutex)和条件变量(QWaitCondition)来同步线程,并在线程之间传递数据。你可以从GUI线程发射信号到其他线程的槽函数。
2024-08-19 09:40:12
443
原创 QT中代码打包方法
此时库文件都已经拷贝到当前目录下了。如果代码中有使用到动态库,需要检查一下代码中依赖的.dll是否放到.exe同级目录下。然后就可以点击运行exe程序了。(不需要下载安装),它可以找到程序(exe)用到的所有库文件,并且都拷贝到exe程序的当前文件。此时打包的exe较小,需要和拷贝进来的文件放一起运行。3.在开始菜单中找到QT5.7 64-bit for Desktop打开命令行。4.命令行进入要打包的exe目录下。cd /d表示可跨磁盘。
2024-08-12 10:53:11
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人