
C++
宏笋
这个作者很懒,什么都没留下…
展开
-
C++:18位SFZ号码有效性验证
SFZ号码生成规则原创 2021-12-24 11:05:07 · 1103 阅读 · 0 评论 -
数字范围正则表达式
软件开发中,需要限制编辑框的数字范围,网上搜了一些,要么漏洞很多,要么不完善,于是博主重新学了一些正则表达式的语法。不多废话,请看正题:1、[0,255]范围内的正则表达式:^[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|(25[0-5])$解析:这个范围IP地址中会用到,如果写成^[0-2][0-5]{2}$那就大错特错了,不仅会取000这样无意义的数值,还不能输入39、166等数字。上述表达式虽长,但是分段看就很简单,将其分成5个区间:取值范围原创 2021-12-13 12:04:08 · 8809 阅读 · 3 评论 -
Qt 版Word多文档编辑与处理(完整版)
微软的Office Word软件是一款通用的文字处理软件, 其功能非常强大, 但它是如何实现的呢? 本文怀着这样的想法, 用Qt开发出与之功能类似的文字处理软件.(当然了, 我只实现了一些基本功能, 读者们可根据本文的思路,对该软件的功能进行扩展), 请先看软件运行结果:(注: 在Linux运行Qt程序时, 只有将界面最大化, 才能在左上角看见菜单.)实现该软件的核心点:1. QMdiArea 类: 它是实现多文档操作的关键类, 通过向QMdiArea中添加子窗口,可操作多个子...原创 2021-08-25 16:56:02 · 2482 阅读 · 0 评论 -
Qt制作一个相册浏览工具
如何用Qt制作一个相册浏览的小程序? 程序开发思路如下:1.支持多张相片浏览,可翻页浏览,相片可从本地导入;2.相片要有放大和缩小的功能;3.相片可自动浏览,时间间隔可自定义.主要的代码如下:1.相片的导入void MainWindow::onBrowse(){ QString picFormat = tr("Images(*.png *.jpg *.jpeg *.bmp *.ico *.tif *.gif)"); QFileDialog fDlg(this, t原创 2021-08-19 10:34:53 · 686 阅读 · 0 评论 -
Qt模拟分子扩散与碰撞
假设某个封闭容器内有若干个分子,每个分子的颜色都不同,它们在容器内无规则的扩散,如何实现这个功能? 解决方案如下:1. 容器可视为一个QWidget对象,每个分子可用一个圆点表示,它的结构体数据如下:struct SColorCircle{ SColorCircle(QPoint pt, Qt::GlobalColor clr) : _pt(pt), _color(clr) {} QPoint _pt; int原创 2021-08-19 10:21:01 · 205 阅读 · 0 评论 -
C++11: 枚举类ostream
在传统的C++中,枚举类型并非类型安全,它可视为整数,不同的枚举类型可直接进行比较,且不同类型的枚举值i名称不能相同,这时常给枚举值取名带来困扰.C++11引入了枚举类(enumaration class),并使用enum class的语法进行声明. 枚举类是类型安全的,它不能被隐式转换为整数,也不能与整数进行比较,更不能对不同枚举类型的枚举值进行比较,但同一个枚举类中的枚举值可进行比较.枚举类中的枚举值不能直接通过 << 进行输出,需显式的进行类型转换,转换成整数后方可,也可通过重载原创 2021-08-13 14:27:51 · 393 阅读 · 0 评论 -
Qt生成二维码(源码可下载)
用Qt 开发生成二维码的工具,步骤如下:1. 下载Qt开源代码qrencode(GitHub中可搜到)2. 编写一个继承QWidget的二维码类,重写该函数:void paintEvent(QPaintEvent *event) override3.在主窗体中测试生成的二维码,测试结果如下:源码下载路径如下:https://download.youkuaiyun.com/download/ouyangxiaozi/21044215...原创 2021-08-13 14:00:57 · 425 阅读 · 0 评论 -
QPalette的详细使用示例
1. 功能简介:QPalette是Qt中的调色板类,它提供的setColor()函数可改变控件的颜色,其原型为:void QPalette::setColor(ColorRole acr, const QColor &acolor)其中, ColorRole是个枚举,指的是颜色主题,QPalette::Window是指背景色,QPalette::WindowText指的是前景色, QPalette::Button指的是按钮的底色...2. 实例新建一个Qt Widgets Ap原创 2021-07-29 10:38:13 · 5829 阅读 · 1 评论 -
C++:抛出异常与类的引用
翻译 2017-04-19 10:41:32 · 579 阅读 · 0 评论 -
MFC:重绘GroupBox控件
转载 2017-08-31 14:02:56 · 3201 阅读 · 2 评论 -
C++11:互斥锁对程序性能的影响
原创 2017-12-12 10:26:36 · 9130 阅读 · 4 评论 -
MFC:界面多线程
原创 2018-01-02 13:56:50 · 1209 阅读 · 0 评论 -
C++:自定义函数数据类型转换
主要代码如下://获取字符串的长度函数(每个汉字2个字节长度)int GetStringLength(string str){ int ret = 0; int i = 0; while (auto sss = str[i++] != '\0') { ret++; } return ret;}//double转化为字符串函数string DoubleToString(...原创 2018-02-08 14:16:55 · 1149 阅读 · 0 评论 -
C++:利用模板类进行若干排序算法
template class CSort{public: CSort(int nArraySize); virtual ~CSort(); void Bubble(T arr[]); //冒泡排序 void insertion(T arr[]); //插入排序 void Quick(T arr[]原创 2017-05-05 16:50:14 · 866 阅读 · 0 评论 -
C++:操作符重载
#include using namespace std;class Complex{public: Complex(double r = 0, double i = 0) : _real(r), _imag(i) { } double GetReal() { return _real; } double GetImag() { return原创 2017-05-05 13:30:26 · 260 阅读 · 0 评论 -
C++:堆和栈的区别
很多面试单位都会问到这个问题,网上的回答也有很多,但我看过一本书,觉得这个答案既专业,又容易让人记忆深刻,截图如下:原创 2017-04-19 10:52:35 · 288 阅读 · 0 评论