《QT从基础到进阶·三十二》Q指针和D指针用法

二进制兼容: 如果程序从一个以前版本的库动态链接到新版本的库之后,能够继续正常运行,而不需要重新编译,那么我们就说这个库是二进制兼容的。(通常只要dll的头文件总字节数不变基本满足二进制兼容,pimpl设计模式使用的二进制兼容,因为类指针始终是四个字节) d指针是在主类中使用的,主类获取私有类或类中私有变量的指针 q指针是在私有数据类中使用的,来获取主类对象指针 1、Q_D具体用法: Q_DECLA...

《QT从基础到进阶·二十五》界面假死处理

应,这里提供几种方法处理界面假死的情况,保证比如主线程在执行死循环没有退出的时候点击界面不会卡死能继续执行其他功能。 方法1: 把主程序中比较耗时的功能放入线程去执行,多线程用法可以参考《QT从基础到进阶·十九》QThread多线程使用 方法2: 主线程中耗时的地方加入QCoreApplication::processEvents(); 可以防止界面假死,在死循环期间可以继续执行主线程中的其他的事。 ...

《QT从基础到进阶·二十七》进度条QProgressBar

ui.ProgressBar.setValue(45); //45%ui.ProgressBar.setMin(0);ui.ProgressBar.setMax(255); 0到100分为255份,值为215时,进度条为100/255*215 = 84% 点击主界面弹出进度条QProgressDialog 常用功能: setWindowFlags(Qt::Dialog | Qt::Customi...

《QT从基础到进阶·二十三》弹窗提示框QMessageBox和QCloseEvent事件

1、正常信息提示 QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); 消息框按钮判断: if(QMessageBox::Ok ==QMessageBox::warning(this,"温馨提示","是否保存设置?",QMessageBox::...

【python】9个python进阶技巧(实用)

文章目录 前言1、列表索引排序2、单引号双引号3、字典键值对转换4、统计列表元素个数5、列表字符串相互转换6、反转字符串7、字符串去重8、print 输出分隔符9、随机取元素 前言 1、列表索引排序 输出对应顺序的索引 a = [5, 7, 2, 4, 3]index = list(range(len(a)))index.sort(key=lambda i: a[i]) # 从大到小只需要添加 ...

《QT从基础到进阶·二十四》按钮组QButtonGroup,单选框QRadioButton和多选框QCheckBox

1、按钮组QButtonGroup 如果有多个单选按钮,可以统一放进一个按钮组。 图中有三个单选按钮放进了一个QGroupBox,并且设置了水平布局,现在要将这三个单选按钮放进一个按钮组,之前的想法是先把三个按钮加入按钮组,再把按钮组放进QGroupBox的水平布局里,但好像行不通,现在知道按钮组QButtonGroup不需要放进布局,直接把按钮放进按钮组,这样的话三个按钮既在QGroupBox的水...

《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)

这个demo用QT实现了对多个图形项的绘制,包括矩形的绘制,直线的绘制和多边形的绘制,是之前一章中绘制矩形的增强版,之前一章节关于矩形的绘制可以参考:《QT从基础到进阶·十五》用鼠标绘制矩形(QGraphicsView、QPainter、QGraphicsRectItem) 对比于之前一章关于矩形的绘制,在这一章节中对多个图形项的绘制用了一种新的实现方式: 1、创建了DrawControl类管理所有...

[量化投资-学习笔记013]Python+TDengine从零开始搭建量化分析平台-策略回测进阶

在上一章节《策略回测》中采用轮询的方式对整个股票池进行了回测。虽然功能已经实现,但是效率确实不高。而且生成的结果也不方便统计。 本次在上一章的基础上进行修改,实现两方面的改进: 采用多线程的处理方式,提高处理效率将计算结果存入 TDengine 数据库,方便后期统计。 目录 数据库初始化数据库建模创建子表 函数简介多进程/线程处理结果写入TDengine程序主体 MACD交易策略回测程序说明程序功能...

二十三种设计模式全面解析-迭代器模式进阶篇:探索变体与扩展

在前文中,我们深入探讨了迭代器模式的概念、原理和基本应用。然而,迭代器模式并不止于此,它还有更多的变体和扩展,为我们提供了更多灵活的遍历方式和功能。今天,我将继续带领你进入迭代器模式的进阶篇,探索双向迭代器和内部迭代器的奥秘。让我们继续揭开迭代器模式的神秘面纱! 一、双向迭代器(Bidirectional Iterator) 1、双向迭代器的介绍 双向迭代器是迭代器模式的一种变体,它提供了在集合中进...

『C语言进阶』动态内存管理

🔥博客主页: 小羊失眠啦. 🔖系列专栏: C语言、Linux、Cpolar ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言一、动态内存函数的介绍1.1 malloc和free函数1.2 calloc函数1.3 realloc函数 二、常见的动态内存错误2.1 对NULL指针的解引用2.2 对动态开辟空间的越界访问2.3 对非动态开辟内存使用free释放2.4 使用free释放一块动态开辟内存的一部...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.005591(s)
2024-05-17 00:01:37 1715875297