- 博客(135)
- 资源 (15)
- 收藏
- 关注
原创 QTextBrowser 点击后不跳转网页,响应其他事件
在Qt中,如果你想要在QTextBrowser上点击链接时弹出一个对话框而不是跳转到网页,你可以通过覆盖QTextBrowser的anchorClicked信号来实现这个功能。默认情况下,QTextBrowser在点击链接时会尝试加载链接指向的URL。为了阻止这种行为并改为显示一个对话框,话不多说直接上代码。工作中,需要实现这么一个功能,QTextBrowser 中网页的点击事件,点击后不进行网页跳转,只响应点击事件,用于做其他事。
2025-03-24 09:52:11
219
原创 QCustomPlot中QCPGraph中图例的隐藏
对于更复杂的布局控制,你可以通过自定义QLegend的QLegendHandler来实现更灵活的控制。这涉及到更深入的QCustomPlot内部机制,通常用于高级定制。
2025-03-21 16:44:42
229
原创 Qt 6.6.1 中 QPixmap::grabWindow() 的用法与替代方案
截取区域的起始坐标(相对于窗口左上角),获取当前窗口的句柄);:截取区域的尺寸,默认。若需截取特定控件(如。表示截取至右下角。,避免直接处理窗口句柄。
2025-03-12 10:19:32
546
原创 Qt 实现抽屉效果实例
抽屉样式修改中的样式,例如背景颜色、文字内容等。在Drawer构造函数中添加更多的 UI 组件,例如按钮、标签等。动画效果修改的duration属性调整动画速度。修改的参数调整动画的缓动效果(例如或。
2025-03-06 16:29:18
491
原创 Qt 实现会转动风扇效果
继承,并在其中添加绘制风扇动画的功能。public:// 初始化风扇旋转角度// 创建一个定时器,用于更新旋转角度// 每50毫秒更新一次protected:// 在按钮上绘制风扇// 启用抗锯齿// 设置绘制中心点// 绘制风扇叶片// 平移到中心点// 应用旋转角度// 绘制三个叶片i < 3;++i) {// 每次旋转120度// 每次旋转3度update();// 刷新界面private:2 创建主窗口并添加按钮。
2025-03-06 15:48:09
423
原创 Qt中QWidget自定义形状
方法2,也可以实现,如果要移动,可以加入移动窗口函数进行处理。会在需要重绘窗口时被调用在这个例子中,我们创建了一个。在Qt中,要创建自定义形状的。在这个例子中,我们创建了一个。函数来定义一个自定义的形状。函数来定义一个自定义的形状。来填充路径指定的颜色。来填充路径指定的颜色。会在需要重绘窗口时被调用.来定义形状的路径,并使用。来定义形状的路径,并使用。
2024-12-26 11:37:30
391
原创 QPainter在Qt中三种类型的渐变
线性渐变由两个控制点定义,连接这两点的线上设置一系列的颜色断点。这些断点被钳位到浮点数0和1之间,0对应第一个控制点,1对应第二个控制点,两个指定断点之间的颜色由线性插值得出。辐射渐变由一个中心点、半径、一个核心,以及颜色断点控制。中心点和半径定义一个圆,颜色从中心向外扩散。锥形渐变由一个中心点和起始角度定义,颜色从中心点向外扩散。这段代码会在一个椭圆内填充从白色到绿色再到黑色的线性渐变。这段代码会在一个椭圆内填充从中心向外扩散的线性渐变。1,线性渐变(QLinearGradient)
2024-12-20 16:22:22
620
原创 Python代码编写KDJ指标
这段代码首先定义了一个calculate_kdj函数,用于计算给定收盘价序列的KDJ指标。请注意,为了实际应用这段代码,我们需要替换close_prices变量是实际股票或金融产品的历史收盘价数据。此外,根据我们也可以根据具体的需求,对接到实时数据源或调整参数n、m1、m2来优化指标的表现。这段代码是一个起点,根据实际需求,我们可能还需要添加错误处理、数据验证等逻辑,并考虑如何在实际交易环境中集成和测试此指标。KDJ指标由三部分组成:K值、D值、J值,主要用于分析股票市场的超买超卖状态及股价波动的趋势。
2024-10-08 08:33:37
1258
原创 量化交易常见策略
每种策略都有其适用的市场环境和风险特征,实际应用时需要根据市场条件、交易成本、执行速度等因素综合考量,并进行充分的回测与风险评估。•通过分析影响资产收益的多个因子(如市值、市盈率、股息率等),构建多因子模型,寻找因子暴露带来超额回报的机会。•示例:并购套利策略,在并购公告后买入被收购公司股票,同时卖空收购方股票或使用衍生品对冲,以期在交易完成时赚取价差。•基于市场会自然回归到长期平均水平的假设,当资产价格偏离其历史均值时,采取反向操作。•示例:布林带策略,在价格触及布林带上轨时卖出,在触及下轨时买入。
2024-10-06 08:58:32
873
原创 学习量化交易步骤
•基础策略学习:了解并实践简单的量化策略,如均线交叉、动量策略、反转策略等。•选择编程语言:Python是最常用的量化交易编程语言,因其丰富的库(如pandas、numpy、matplotlib、scikit-learn等)和易学性。•量化库与工具:学习使用量化交易相关的库,如pandas进行数据处理,numpy进行数值计算,以及backtrader、zipline等回测框架。•学习编程基础:掌握变量、数据类型、循环、条件判断、函数、类和对象等基本编程概念。感觉又要重拾这个行业了!
2024-09-27 11:37:54
667
原创 解释 Git 的基本概念和使用方式
合并(Merge):合并是将一个分支的更改合并到另一个分支的过程。远程仓库(Remote Repository):远程仓库是一个存储在网络上的Git仓库,可以从中获取和推送更改。一个仓库可以包含多个文件和文件夹。以上是Git的基本概念和使用方式的简要介绍,Git还有更多高级功能和命令可以进一步探索和学习。合并分支:使用git merge命令将一个分支的更改合并到另一个分支。提交更改:使用git commit命令将暂存区的更改提交到仓库。推送更改:使用git push命令将本地的更改推送到远程仓库。
2024-09-23 17:49:01
366
原创 用Qt 对接百度AI平台
首先我们选择的 AI模型是百度的,然后注册,申请密钥相关的东西(和上一篇语音识别一样的方式),模型场就是用免费的(注册后就有的,一般对话),有些场景模型需要收费。很多同学想利用几大模型AI弄点东西,但又不知道如何去介入?最近帮同学弄点东西,刚好要接入到AI平台,就顺便研究了一下,并记录下来。3, 利用 TOKEN 发送消息到AI平台上去获取结果。2, 利用KEY ,SECRET 获取TOKEN。
2024-09-19 17:17:25
1034
原创 用Qt 对接百度语音识别接口
3,涉及到的Qt 类有 QAudioFormat,QAudioDeviceInfo,QAudioInput,QNetworkAccessManager;4,QAudioFormat 类主要作用用来配置音频参数 ,如设置采样率、设置采集通道数、设置样本大小、设置录音格式为;1,利用 百度 生成的API_Key,Secret_Key,获取access_token。6,QNetworkAccessManager HTTP网络访问类;2,注册百度云平台,获取语音相关东西,1,搭建好开发环境;
2024-09-13 11:50:10
891
原创 程序员如何平衡日常编码工作与提升式学习?
方向一:高效编码习惯与时间管理技巧高效编码习惯:1. 代码复用:尽量利用现有的库和框架,减少重复造轮子。遵循DRY(Don't Repeat Yourself)原则。2. 模块化编程:将代码分解为小的、可管理的模块或函数,每个模块负责单一功能,提高代码的可读性和可维护性。3. 代码审查:定期进行代码审查,可以发现潜在的错误并促进团队成员之间的知识共享。4. 编写清晰的注释:良好的注释可以帮助他人(及未来的你)更快理解代码逻辑,注释应解释为什么这样做,而不仅仅是做了什么。
2024-08-15 10:33:20
712
原创 一台电脑同时开多个微信
如果没有空格 ,比如 "C:\ProgramFiles\Tencent\WeChat\WeChat.exe" 就只要写成 start C:ProgramFiles\Tencent\WeChat\WeChat.exe.在新建的txt 文件中修改为 start C:"\Program Files\Tencent\WeChat\WeChat.exe",要开几个就写几行一样的内容。经测试,确实可以做的,而且一点了不麻烦。双击运行刚改的批处理脚本,就行弹出两个微信登录界面,依次用需要登录的微信扫码,就可以完成登录。
2024-08-15 09:13:24
475
原创 qt 在vs2022 报错记录
2,在一个文件中已定义,编译器在链接时,在多处报 已在.*****文件已定义,让你摸不清头脑,可能在vs2015之前的版本不报错,移到到vs2022上就报错了,因为vs2022对编译与链接都比以前低版本严谨了,如语法上、参数使用上。3,Qt 6.6.1后出现的错误,这种错误是偶然性,有时出现,有时不出现。定义错误,导致其他错误,原因难找。只要加const 完美解决,为什么呢,定义常量,就得加const。需要把SSL 相关的库加入进去,如ssleay32.dll,libeay32.dll。
2024-08-13 11:16:52
394
1
原创 Qt实现中英文切换中QMessageBox中的中文信息怎么处理
总结:所有的QMessageBox中的控件,只有QLabel与QPushButton,所以只要获取相应的控件,就可以随意改变文字与字体颜色,大小等。获取button 的关键语句msgBox->button(QMessageBox::Yes)。有粉丝看了《Qt实现中英文切换》文章后,留言说“中英文切换中QMessageBox中的中文信息怎么处理”,这篇文章就告诉你处理方法。修改后的,我们可以根据自己的喜好,设置更特别的文字。
2024-08-08 17:23:01
656
原创 用Qt 中的QPainter类画时钟
在Qt中,我们可以通过QPainter类来绘制各种图形,包括时钟指针。以下是一个简单的例子,展示了如何在Qt中绘制一个简单的时钟指针。这段代码定义了一个ClockWidget类,它继承自QWidget。它有一个定时器,每秒触发一次更新事件,然后在。函数用于绘制时针、分针和秒针。程序的主函数中创建了ClockWidget的实例,并显示出来。中重绘时钟表盘和时钟指针。
2024-06-13 09:40:11
425
原创 QScrollArea背景色设置为透明
工作中 常常要设置 当前窗口为透明,保持与父窗口一样的样式或颜色,其他父窗口上的控件比较容易,一般自动和父窗口颜色一样;其他不能和父窗口一样的样式,直接back-color:transparent就可以了。但QScrollArea怎么设置都不能保持透明。第三种方法不错,可以实现!3 第三种方法 OK。
2024-05-17 11:45:00
1013
原创 QJsonObject构建指定的JSON结构
接着,为每条消息创建了一个QJsonObject,并设置了"role"和"content"键值对。最后,将消息对象加入到数组中,并将这个数组添加到最外层的json对象里。如今我们生活处处用到AI,AI 带给了我们很多方便,但作为程序员我们,虽然不能开发什么 AI,但时不时需要调用国内四大平台的AI接口。1,我们先以QJsonObject 构建 "messages": [ {"role": "user","content": "你好"}] 为例。如下接口数据 ,有些人不知道怎么构建。总结:是不是很简单。
2024-05-16 10:41:34
554
原创 Qt 实现TCP 协议的断开重连
注意:在实际应用中,你可能需要根据具体情况调整重连策略,比如增加重试次数限制,或者在尝试几次失败后让用户决定是否继续重试。3. 实现槽函数以处理断开连接: 在槽函数中,可以设置一个定时器来尝试重新连接。5. 初始化定时器: 在合适的地方(如构造函数)初始化定时器,并连接其timeout信号到重连槽函数。2. 连接信号与槽: 连接disconnected()信号到一个槽函数,这个槽函数负责启动重连逻辑。4. 实现定时器槽函数以尝试重连: 当定时器时间到达时,槽函数会被调用,此时尝试重新连接服务器。
2024-05-08 08:50:32
2035
2
原创 ftplib开源代码编译成DLL,实现在Qt 的ftp功能
但可以通过编译QFtp 模块的源码可以在Qt 5.12之前的版本上使用(博主只试到这个版本,后面直接上Qt6.6.1),等博主把公司项目升级到Qt 6.6.1后,发现编译QFtp 模块的源码在此版本上编译不能通过,所以也不使用了,Qt 6.6.1版本找了很多方法,均不能实现想要的功能或者说压根做出来,不像ftp。后来选择用c 语言编写ftplib,经过测试,发现不错,基本能实现ftp 功能,以后在Qt上用此功能,再也不担心Qt版本升级。1,下载ftplip 源代码,建dll工程生成dll。
2024-04-18 08:57:59
337
原创 Qt 4.8中的ftp 功能在Qt 5.9.4 之前版本中的应用
QFtp源码在Qt 版本升级到6.6.1 后,怎么也编译不过。于是在Qt 6.6.1基础 翻了很多资没有发现能像Qftp 实现ftp功能。后续用ftplib库实现。很久以前也就是在Qt 4.8版本后, 如果想要用Qt ftp功能,是把Qt 4.8中的QFtp源码拉出来,编译、修改然后就能在Qt 其他版本使用。但每一次升级Qt 版本,就要把Qt ftp 源码在相应的Qt 版本编译,修改。太麻烦了,但为了能更好的像ftp 一样使用,还是迁就一下。下面就是升级版本编译的相应的文件。
2024-04-07 15:54:35
536
原创 C++前端述职报告
在“yy嵌入式项目”中,我利用C++结合OpenGL或类似图形API,开发了高性能实时数据显示界面,有效处理大量数据流的渲染,同时兼顾内存管理和硬件资源优化,使得系统在有限资源条件下表现出卓越的性能。我将密切关注行业前沿动态,比如C++20新特性在前端开发中的实践,以及WebAssembly等新兴技术在C++前端应用的可能性,以便将这些技术融入到未来的项目中,提升我们的产品竞争力。
2024-03-26 08:58:10
483
原创 error “btye “c2872 不明确的符号
在开发环境由VS2015 +Qt5.9.4 转 VS2022+Qt 6.6.1 ,移动FTP功能时,编译报错error "btye "c2872 不明确的符号错误
2024-03-20 09:14:57
541
原创 ftplib 下载文件夹-Python语言
本身并不直接支持下载整个目录。你需要递归地列出目录中的所有文件和子目录,然后逐个下载。模块在 Python 中下载整个文件夹稍微有些复杂,因为。的功能和灵活性,有些情况下可能更适合使用第三方库,如。,它提供了更多的功能和更好的错误处理。以下是一个简单的示例,说明如何使用。
2024-02-20 17:53:18
444
原创 qt 字体大小根据像素变化
在 Qt(一个跨平台的 C++ GUI 框架)中,字体大小通常是以点(pt)为单位来设置的。但是,如果你想要根据像素(px)来设置字体大小,你可以通过一些转换来实现。Qt 的字体大小设置是基于屏幕 DPI(每英寸点数)的,所以你需要考虑到屏幕的 DPI 来进行转换。请注意,这种方法假设你的应用程序是在一个具有固定 DPI 的屏幕上运行的。如果你的应用程序是在一个高 DPI 屏幕上运行的,或者用户更改了他们的屏幕 DPI 设置,那么你就需要更复杂的逻辑来处理这些情况。
2024-02-20 11:00:00
850
原创 深入理解C++ 虚函数
C++ 中的虚函数(virtual function)是面向对象编程中的一个重要概念,它允许子类重新定义从父类继承的方法。当子类对象被当作父类对象使用时,可以通过子类的方法实现来调用子类的方法,而不是父类的方法。这是因为在删除子类对象时,如果析构函数不是虚的,那么只会调用基类的析构函数,而不会调用子类的析构函数,这可能导致资源泄露。:当通过基类指针或引用调用虚函数时,实际调用的是运行时对象的实际类型所定义的函数。在子类中,可以重写(override)这个函数,即使用相同的函数名和参数列表。
2024-02-19 14:45:31
359
原创 c++ 容器举例
1)、双端队列、队列(deque):双端队列是一个可以在其前端和后端进行插入和删除操作的序列容器;队列是一个先进先出(FIFO)的容器,允许在容器的两端进行插入和删除操作。5)、优先队列(priority_queue):优先队列是一个可以存储任意类型的元素的容器,每个元素都有一个优先级,队列中的元素按照优先级的高低进行排序。4)、栈(stack):栈是一个后进先出(LIFO)的容器,允许在容器的一端进行插入和删除操作。输出结果:1 2 3 4 5(集合中的元素是无序的)输出结果:1 2 3 4 5。
2024-01-12 09:05:54
446
原创 c++ 引用与指针
引用是一种已经存在的变量的别名,或者说是一个已经存在的变量的另一个标识符。一旦一个引用被初始化为一个特定的对象,就不能再让它引用其他的对象。引用在C++中主要用于函数参数传递和函数返回值。
2024-01-04 10:45:00
458
原创 Qt 5.9.4 转 Qt 6.6.1 遇到的问题总结(二)
既然电脑上的开发环境都需要重装,就打算把开发环境也升级到最新版本,要用就用最新版本。QApplication::desktop()废弃了, 换成了 QApplication::primaryScreen()QDateTime(QDate)用法已不能编译通过,需要改成QDateTime(QDateTime)。16, QEvent中的 delta 函数,可以用anleDelta().x()来替代。最近公司对大家的开发的硬件环境进行了升级,电脑主机的配置、以前注释用法,变成红框里的用法。insert函数替代。
2024-01-03 16:57:43
855
原创 Qt 5.9.4 转 Qt 6.6.1 遇到的问题总结(一)
最近公司对大家的开发的硬件环境进行了升级,电脑主机的配置、显示器(两台大屏显示器)变得的逼格高多了。既然电脑上的开发环境都需要重装,就打算把开发环境也升级到最新版本,要用就用最新版本。感觉Qt 6.6.1 对编译的严格度提高了,遇到了好几个这样的问题。QDateTime::currentDateTime().toTime_t() 我用QDateTime::currentDateTime().toSecsSinceEpoch()替代。所有老的工程,升级还会遇到好多问题。
2023-12-30 10:37:50
1211
原创 深入理解c++ 继承
需要注意的是,继承也有一些潜在的问题,如虚函数表的使用和维护、构造函数和析构函数的调用顺序等。在上面的示例中,类 C 继承自类 A 和类 B,因此它可以访问类 A 和类 B 的公有成员。公有继承是最常用的继承方式,它表示派生类可以访问基类的公有和保护成员。C++中的继承是一种机制,允许一个类(派生类)继承另一个类(基类)的成员变量和成员函数。通过继承,派生类可以重用基类的代码,并且可以在此基础上添加或覆盖基类的功能。在C++中,派生类可以继承基类的所有公有和保护成员,但不能继承其私有成员。
2023-12-29 08:56:04
983
原创 深入理解 c++ 函数模板
函数模板是C++中的一种强大特性,它允许程序员编写一个可以处理多种数据类型的函数。通过使用模板,我们可以编写一次函数,然后在多种数据类型上使用它,这大大提高了代码的复用性。
2023-12-27 12:03:17
532
原创 C 操作内存主要函数-举例说明
最后,我们打印设置后的内存区域,输出结果为 "Set string: ",注意后面的字符串内容是空字符,因为我们将每个字节都设置为 0 了。函数分配了足够的内存来存储一个整数数组,并将分配的内存初始化为零。然后,我们使用分配的内存存储了一些值,并打印了这些值。然后,我们使用分配的内存存储了一些值,并打印了这些值。是一个运算符,不是函数,用于计算所占内存空间的大小,单位是字节。然后,我们使用分配的内存存储了一些值。函数将内存大小从5扩大到10,并使用调整后的内存存储更多的值。在上面的示例中,我们首先使用。
2023-12-21 07:00:00
954
原创 C 操作内存主要函数
请注意,使用这些函数时,必须确保不会越界访问内存,否则可能会导致程序崩溃或未定义的行为。: 用于将源地址中的字节复制到目标地址,即使源地址和目标地址重叠。: 用于在堆上分配指定数量的内存空间,并将其初始化为零。: 用于将内存区域中的每个字节都设置为指定的值。: 用于从源地址复制指定长度的字节到目标地址。分配内存时,一定要记住在不再需要内存时使用。: 用于在堆上分配指定大小的内存空间。: 用于调整已分配内存的大小。释放它,以避免内存泄漏。: 用于释放之前通过。
2023-12-20 16:33:39
489
原创 C语言 字符串处理相关函数大汇总之(16~20)
运行这个程序会输出 "字符串长度为:13",因为 "Hello, world!函数存在安全问题,因为它不会检查输入的长度,可能会导致缓冲区溢出。因此,在实际编程中,建议使用更安全的函数,如。运行这个程序会提示用户输入一个字符串,并将输入的字符串存储在。至此,C语言 字符串处理相关函数基本写完。懂了这20个函数的用法,基本是够了。函数在输出字符串后会添加一个换行符('\n'),所以输出后会自动换行。函数可以非常方便地输出一个字符串,而不需要使用。中的所有大写字母转换为小写字母。数组中,然后输出该字符串。
2023-12-19 17:51:59
601
qt中 利用c语言ftplib 实现FTP功能
2024-08-21
已编译好的openssl 在window平台相关库
2021-08-16
android简单聊天软件
2015-01-20
android简单的聊天软件
2015-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人