- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 在 Qt 中,不带参数或整形的参选的信号能够从 std::thread 发送成功,而带枚举离线的信号却发送失败
enum class(强类型枚举)需要完整作用域名称注册,例如 qRegisterMetaType<MyClass::MyEnum>("MyClass::MyEnum")。如果枚举类型未通过 Q_ENUM 或 Q_ENUM_NS 注册到 Qt 元对象系统,Qt 无法在跨线程时序列化枚举值。在 Qt 中,不带参数或整形的参选的信号能够从 std::thread 发送成功,而带枚举离线的信号却发送失败。不带参数的信号:不需要传递参数,Qt 无需序列化数据,仅需传递信号类型本身(元对象系统已隐式注册信号类型)。
2025-03-24 15:25:51
325
原创 不要在子线程中对Qt界面控件进行操作
在 Qt 中,GUI 操作(如更新界面控件的文本)必须在主线程中进行,因为 Qt 的 GUI 组件不是线程安全的。如果你在子线程中直接对 GUI组件进行操作,可能会导致程序崩溃或行为异常。
2025-03-24 14:33:31
89
原创 qt的slider样式定制
样式表中需要注意滑轨的高度8+滑块的margin4*2=滑块的宽度14+滑块boder1*2=16,再设置radius为16/2=8,满足上述关系,滑块才能为圆形。滑块底部的蓝色渐变条需要通过过重写slider的painter函数实现,注意绘制渐变条在滑轨两端的处理,不要绘制超过滑轨两端。// 绘制左侧渐变蓝色条。// 绘制右侧渐变蓝色条。通过计算,在左右两侧各绘制渐变条即可。
2025-03-22 13:20:37
759
原创 解决多字节编码程序小语种乱码问题
方法二:将界面显示封装为动态库,动态库采用unicode编码,原有程序调用封装的界面库进行界面显示,注意调用时需要传unicode的字符。方法一:调整程序的工程编码为unicode,该方法程序需要重新编译,需要调整程序编码转换后的问题。
2025-03-22 12:57:56
106
原创 FIN-Q&A-003:什么是做市商?
那么这个时候,中介就出现了,可以作用两者之间的桥梁,当然中介也是赚钱一定的利润。那么,回到证券期货市场,情况也一样,如果投资者需要等待交易对象出现后才能进行买卖,那么成交的机会就会很少,但是加入了“做市商”的角色后,无论你何时想买或者何时想买或者何时想卖,总有这么一个角色投资者给你提供报价,你也随时可以找他成交。做市商制度,由具备一定实力和信誉的法人充当做市商,不断的向投资者提供买卖价格,并按其提供的价格接受投资者的买卖要求,以其自有资金和证券、投资者进行交易,并通过买卖价差实现一定利润。
2024-06-30 11:50:21
411
原创 IT-Q&A-008:xaml的基本用法
xaml是Extensible Application Markup Language的英文缩写,中文名是可扩展应用程序标记语言。WPF 借助 XAML 来利用标记而不是编程语言(如 C#)来构造精美逼真的用户界面(UI)。这个Attribute的作用是当XAML解析器将包含它的标签解析成C#类后,决定该类的类名是什么;即当前xaml对应的类是哪一个,同时在.cs文件中也有该类的partial定义。XML Namespace,用于引用不同的XML命名空间。xmlns[:可选的映射前缀]="名称空间"
2024-06-26 15:31:46
267
原创 IT-Q&A-004:ELF文件是什么?
ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(program header table)、节(section)、节头表(section header table);ELF全称可执行与可链接格式(Executable and Linkable Format),是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储文件的文件格式,是类Unix操作系统的二进制文件标准格式,文件常用扩展名为o,so,elf,prx。
2024-06-17 08:58:42
422
原创 FIN-Q&A-002:期权组合策略-熊市看涨价差组合如何实现盈利?
但单纯持有卖出看涨期权潜在风险大(期权卖方:收益有限,风险无限),在市场行情大幅上涨时,会被行权产生较大损失;为防范该风险,需要通过买入看涨期权进行风险对冲,此时花费更少的权利金买入一手更高执行价的看涨期权以限制风险;最终形成了熊市看涨价差组合。该组合具有收益风险均有限的损益特征,卖出一手看涨期权,是为了赚取时间价值(权利金),但担心上方风险无限,从而花费少量权利金买出一手更高执行价格看涨期权以限制风险。最大亏损为“高行权价-低行权价-净权利金”,期权策略的盈亏平衡点为“低行权价格+净权利金”。
2023-12-17 17:15:09
549
原创 FeiQ(飞秋)更新用户列表的原理
登陆时发现用户1、通过广播报文1、用户(设用户IP:12.13.14.15)登陆FeiQ时,发送本地广播(目的IP:255.255.255.255)和定向广播(目的IP:12.13.14.255)报文,广播报文包含自己的MAC信息、系统名称、用户名等信息。2、本地网络和同一个子网的用户接收到广播报文后,记录更新用户列表并向广播报文发送者(12.13.14.15)发送包含MAC信息、系统名称、用户名的回复报文。3、用户(12.13.14.15)收到回复报文,对用户列表进行更新。2、通过配置网段IP
2021-02-23 19:52:36
1894
2
原创 大话设计模式学习笔记1(C++)
开始学习《大话设计模式》(作者:程杰 清华大学出版社),用博客记录学习过程,以激励自己坚持学习,下面正式开始学习,奥利给…第一章 代码无错即是优?——简单工厂模式1.1 面试受挫该小节作者抛出了一个问题:请用C++、JAVA、C#或者VB.NET任意一种面向对象编程语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。下面自己用C++先实现一下/*先理一下思路:1、输入:两个数和运算符号2、输出:计算结果3、面向对象:实现一个类MyCalculator{成员变量:
2021-02-13 21:18:08
513
原创 C++ deque容器
基本概念deque(double-ended queue)双端队列https://www.cnblogs.com/bokeyuan-dlam/articles/9409989.html
2021-02-11 15:39:19
3158
2
原创 C++ vector容器
vector基本概念功能vector数据结构和数组非常类似与普通数组区别数组的空间是静态的,vector的空间可以动态扩展动态扩展当发现原来空间不够时,则申请一个更大的内存空间,并将原空间的数据拷贝到新空间,同时释放原空间。vector构造函数函数原型:vector(); //默认构造函数,使用vector<T> vec;vector(v.begin(), v.end()); //创建vector对象,并使用v[being,end)(前开后闭)的
2021-01-27 23:48:34
274
原创 C++ string容器
string基本概念 本质string 是C++风格的字符串,而string本质上是一个类 string 与 char* 区别char* 是一个指针,指向一个内存空间string 是一个类,类内部封装了char*,并提供了很多成员方法string 对内存空间进行管理,不需要担心复制越界和取值越界等string构造函数 构造函数原型:string(); // 默认构造函数,创建一个空的字符串string(const char *s); // 创
2021-01-26 23:19:50
159
原创 STL简介
STL基本概念STL(Standard Template Libray, 标准模板库)——基于泛型编程(函数模板和类模板)实现常用数据结构和算法的一套标准库。STL从广义上分为:容器(container)、算法(algorithm)和迭代器(iterator)STL几乎所有代码都采用了函数模板和类模板STL的六大组件STL可分为六大组件:容器、算法、迭代器、仿函数、适配器(配接器)和空间分配器容器(Container) —— STL定义的各种数据结构,用于存放数据;包括vector、lis
2021-01-24 23:16:19
299
原创 类模板实现通用数组类
要求可以对内置数据类型及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数可以传入数组的容量提供对应的拷贝构造函数以及operator=防止浅拷贝问题提供尾插法和尾删除法对数组中的数据解析增加和删除可以通过下标的方式访问数组的元素可以获取数组中当前元素个数和数组的容量分析使用模板类myArray{public: 构造函数(容量) 拷贝构造函数 operator= 尾插 尾删 下标访问operator[] 获取容量 获取大小 析构函数private:
2021-01-20 01:42:53
561
原创 C++程序的内存划分——栈区、堆区等
C++程序内存划分对于一个C++程序,其占有的内存可分为以下几部分一段经典的例子程序,帮助理解//main.c#include<string.h>#include<stdlib.h>int a = 0;//全局区 初始化char *p1; //全局区 未初始化int main(){ int b = 0;//栈区 char s[] = "abc";//栈区 char *p2;//栈区 char *p3 = "123456";//123456\0在常量区
2021-01-19 22:56:25
188
原创 C++类模板
C++模板是泛型编程的基础,在C++中模板包括:函数模板类模板文章目录类模板定义使用类模板和函数模板的区别类模板定义template <class T>类声明和定义使用template <class nameType, class ageType>class Person{public: Person(nameType name, ageType age) { this->mName = name; this->mAge = age
2021-01-19 20:07:12
188
原创 C++函数模板
C++模板是泛型编程的基础,在C++中模板包括:函数模板类模板文章目录函数模板定义使用自动类型推导显式类型指定使用注意事项案例函数模板和普通函数的区别函数模板定义一个函数的模板,编译器可根据传入参数的类型生成相应的函数,实现了写一个函数可适配不同输入参数。模板对类型进行了参数化,提高了代码的通用型。定义 template <typenamne T> 函数声明和定义template — 声明创建模板typename — 表明其后的符合是一种数据类型,和class等同T
2021-01-17 15:30:04
212
原创 选择排序
选择排序原理选择排序通过每一趟遍历从待排序的元素中找到最大(最小)的元素,将找到的元素放至已排序的元素之后,直到最后一个元素放到指定位置。思路1、首先从原始序列中找到最大(最小)的元素,将最大(最小)的元素和第1个元素交换位置2、再遍历剩余的n-1元素(即未排序元素),找到其中最大(最小)的元素,将最大(最小)元素和第2个元素交换位置(即和未排序元素的第1个元素交换位置)3、以此,对剩余的n-i未排序元素重复进行第二步操作,每次都将最大(最小)元素交换至第i+1个位置(未排序元素的第1个位置),
2021-01-17 13:32:45
170
原创 冒泡排序
冒泡排序原理依次比较相邻的元素,满足条件进行交换。思想假设一个有n个元素的序列1、第一轮,通过依次不断比较相邻的元素,满足条件(大于或者小于)的则进行位置交换,对一个有n个元素的序列进行一轮比较后,则最小或者最大的元素则放到最后位置,2、接下来再对n-1进行1的操作后,则n-1个元素中最小或者最大得的则放到了倒数第2个位置3、以此类推,依次对n-2、n-3、…2、1个元素进行第2步操作,则完成了序列的排序。过程:对5,8,4,5,2序列进行从小到大排序:第一轮比较过程5,8,4,5,2
2021-01-17 02:45:21
282
1
原创 Qt图形视图框架(Graphics View Framework)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码
2021-01-13 21:31:58
1540
原创 正则表达式
有时候写程序是会使用到正则表达式,但由于不经常使用,有些用法会记不清楚,特此做相关记录,方便查询。https://www.runoob.com/regexp/regexp-tutorial.html:该链接为菜鸟教程的正则表达式的教程,介绍的很详细,并且还附带在线测试工具,非常方便。...
2021-01-13 21:01:11
166
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人