自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (5)
  • 收藏
  • 关注

原创 Qt:关闭对话框,动画实现窗体逐渐缩小到消失

QPropertyAnimation对象,实现动画效果,逐渐缩小窗体尺寸,以及透明度;2、在对话框缩小时,要将界面中的控件都隐藏起来,并且将对话框布局的Margin修改成0。

2023-10-29 21:48:52 560

原创 Qt:删除QWidget中的所有布局和组件

3、QLayout::itemAt(int index) 可根据索引获取相应的子项;2、QLayout::count() 可获取布局内的子项数量,包括子布局和子组件;1、调用QWidget::layout()可获取组件的布局;*widget) 可将某个组件从布局中移除。

2023-10-29 19:41:38 2086

原创 QLineEdit 不显示右键菜单,以及屏蔽鼠标选中文本

鼠标右键编辑框内时,会弹出系统默认的右键菜单,很多时候我们不需要,或者想使用自己设计的菜单,常见的方法就是重写QLineEdit类,修改它的事件处理。如果屏蔽掉鼠标双击或拖动时选中编辑框内的文本,只需重写它的一些鼠标事件即可。

2023-05-20 00:12:51 704

原创 Qt:日期与时间戳互相转换Demo

Qt编写的时间与时间戳相互转换的Demo,需要的可直接copy代码,当做小工具使用

2022-12-28 15:26:07 1343

原创 Qt:注册表的使用方法(增删查改)

Qt使用注册表的基本方法

2022-11-03 16:17:20 1562 1

原创 Qt判断文件是否为图片,以及QPixmap加载图片失败的原因

QPixmap加载图片

2022-11-03 15:48:32 2329 1

原创 Qt:图标刷新自动旋转

图标自旋

2022-07-18 10:46:19 568

原创 QListWidget与QTreeWidget的用法

1、dialog.h:头文件#ifndef DIALOG_H#define DIALOG_H#include <QDialog>#include <QLabel>#include <QLineEdit>#include <QTextEdit>#include <QPushButton>#include <QListWidget>#include <QTreeWidget>class Dialog

2022-05-12 00:33:28 286

原创 C++:18位SFZ号码有效性验证

SFZ号码生成规则

2021-12-24 11:05:07 712

原创 Qt 5.9打包后sqlite运行错误:Driver not loaded

今天打包Qt程序后,运行exe,报了一个奇葩的错误:Driver not loaded乍看之下,是数据库驱动没有加载,但我在程序调试中,Debug和Release都没问题,在网上找了一圈答案后,也没有解决我的问题。网上的答案无非两种:1、代码写的有问题;2、打包的文件夹中没有qsqlite.dll等文件,这里就不详述。折腾了半天,才发现了问题的所在:1、我的程序中,数据库文件是代码自动创建的,代码大致如下: QSqlDatabase sqlDB; sqlDB = QS

2021-12-14 18:33:38 2050 1

原创 数字范围正则表达式

软件开发中,需要限制编辑框的数字范围,网上搜了一些,要么漏洞很多,要么不完善,于是博主重新学了一些正则表达式的语法。不多废话,请看正题: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 7257 3

原创 qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.This appl

今天在Linux系统卸载了Qt 5.9, 然后安装Qt 5.12, 结果运行qtcreator时,报如下错:后来查阅才知道, 是libxcb-xinerama0没有安装, 在终端输入以下命令即可解决问题:sudo apt-get install libxcb-xinerama0感谢链接中的博主:https://blog.csdn.net/u012308586/article/details/108509503...

2021-09-02 11:15:10 722

原创 Qt 版Word多文档编辑与处理(完整版)

微软的Office Word软件是一款通用的文字处理软件, 其功能非常强大, 但它是如何实现的呢? 本文怀着这样的想法, 用Qt开发出与之功能类似的文字处理软件.(当然了, 我只实现了一些基本功能, 读者们可根据本文的思路,对该软件的功能进行扩展), 请先看软件运行结果:(注: 在Linux运行Qt程序时, 只有将界面最大化, 才能在左上角看见菜单.)实现该软件的核心点:1. QMdiArea 类: 它是实现多文档操作的关键类, 通过向QMdiArea中添加子窗口,可操作多个子...

2021-08-25 16:56:02 1965

原创 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 560

原创 Qt模拟分子扩散与碰撞

假设某个封闭容器内有若干个分子,每个分子的颜色都不同,它们在容器内无规则的扩散,如何实现这个功能? 解决方案如下:1. 容器可视为一个QWidget对象,每个分子可用一个圆点表示,它的结构体数据如下:struct SColorCircle{ SColorCircle(QPoint pt, Qt::GlobalColor clr) : _pt(pt), _color(clr) {} QPoint _pt; int

2021-08-19 10:21:01 143

原创 C++11: 枚举类ostream

在传统的C++中,枚举类型并非类型安全,它可视为整数,不同的枚举类型可直接进行比较,且不同类型的枚举值i名称不能相同,这时常给枚举值取名带来困扰.C++11引入了枚举类(enumaration class),并使用enum class的语法进行声明. 枚举类是类型安全的,它不能被隐式转换为整数,也不能与整数进行比较,更不能对不同枚举类型的枚举值进行比较,但同一个枚举类中的枚举值可进行比较.枚举类中的枚举值不能直接通过 << 进行输出,需显式的进行类型转换,转换成整数后方可,也可通过重载

2021-08-13 14:27:51 312

原创 Qt生成二维码(源码可下载)

用Qt 开发生成二维码的工具,步骤如下:1. 下载Qt开源代码qrencode(GitHub中可搜到)2. 编写一个继承QWidget的二维码类,重写该函数:void paintEvent(QPaintEvent *event) override3.在主窗体中测试生成的二维码,测试结果如下:源码下载路径如下:https://download.csdn.net/download/ouyangxiaozi/21044215...

2021-08-13 14:00:57 337

原创 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 5575 1

原创 Qt获取Linux终端命令数据

用Qt新建一个无窗体的工程后,用代码的方式创建控件和布局,左边的编辑框为Linux命令,右边的为命令的执行结果,经验证,与终端执行结果一样,代码如下:1. mainwindow.h 文件代码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QLabel>#include <QPlainTextEdit>#include <QPushButton&gt

2021-07-22 18:39:34 1612

原创 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 1065

原创 MFC:CString::SpanIncluding与CString::SpanIncluding的用法和区别

2018-01-10 12:10:31 681

原创 MFC:界面多线程

2018-01-02 13:56:50 1136

原创 C++11:互斥锁对程序性能的影响

2017-12-12 10:26:36 7782 2

转载 MFC:重绘GroupBox控件

2017-08-31 14:02:56 2955 2

原创 MFC:去掉工具栏边框(与菜单栏之间的分割线)

2017-08-22 17:39:00 2892

原创 MFC:在CView(或CScrollView等)界面上动态添加右键菜单

2017-06-13 17:35:57 1096

原创 MFC:工具栏不显示图标

2017-06-07 17:00:49 3194

原创 MFC:整数编辑框CEdit

2017-06-06 14:18:54 786

原创 MFC:读取整个记事本文件

2017-05-15 15:12:59 4698 3

原创 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 812

原创 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 221

原创 C++:堆和栈的区别

很多面试单位都会问到这个问题,网上的回答也有很多,但我看过一本书,觉得这个答案既专业,又容易让人记忆深刻,截图如下:

2017-04-19 10:52:35 247

翻译 C++:抛出异常与类的引用

2017-04-19 10:41:32 523

原创 MFC:error MSB8008: 指定的平台工具集(v141)未安装或无效。请确保选择受支持的 PlatformToolset 值

最近装了VS 2017,不知是何原因,用VS 2010 打开之前的项目时,报了如下错误:error MSB8008: 指定的平台工具集(v141)未安装或无效。请确保选择受支持的 PlatformToolset 值。解决方法:打开项目配置-->常规-->平台工具集,选择v100(原来工具集里没有v141项)。修改完后重新编译就OK了。

2017-04-18 10:34:49 29707

原创 MFC:创建dll和调用dll

2017-04-13 16:52:58 7073 2

翻译 MFC:超链接文本(重绘CStatic)

2017-02-06 10:18:51 1056

翻译 MFC:三角形按钮(重绘CButton)

头文件 TriangleButton.h:#ifndef __TRIANGLEBUTTON_H__INCLUDED#define __TRIANGLEBUTTON_H__INCLUDEDenum POINTDIRECTION { POINT_UP, POINT_DOWN, POINT_LEFT, POINT_RIGHT };class CTriangleButton : p

2017-02-05 15:34:34 1732 4

转载 MFC:调用Invalidate()的作用

invalidate的意思是“使无效”,其实就是使窗口无效。使当前的窗口无效的目的就是让Windows知道这个窗口现在该重新绘制一下了。所以任何时候当你想 擦除 并 绘制 窗口的时候,就可以在别的函数中完成功能代码之后Invalidat()一下。OnDraw马上就会被调用了。nvalidate通知windows,整个区域需要重绘,InvalidateRect表示局部需要重绘。

2017-02-05 15:16:29 10867

Qt 桌面数字电子钟(可拖曳)

使用Qt制作一个简单的桌面电子钟, 电子钟大小固定, 显示当前时间(时间格式: 小时/分钟), 使用鼠标左键可拖曳电子钟, 在电子钟上右击, 会将其关闭

2021-08-25

Qt 版Word多文档编辑与处理(完整版)

该软件仿照微软的Office Word办公软件,使用Qt开发,具备以下功能: 1.支持多文档同时编辑, 多文档可平铺或层叠显示, 保存的文件格式为htm和html; 2.菜单栏和工具栏具有基本的Word文档功能: a) 文件有新建、打开、保存、打印等功能; b) 文件编辑有撤销、重做、复制、剪切、粘贴的功能; c) 文本编辑格式有:字体(粗体、下划线、斜体)、字体大小、字体颜色、段落(左对齐、居中、右对齐)等.

2021-08-25

Qt相片浏览(支持导入相片,相片放大和缩小,自动浏览等功能)

1.支持多种格式的相片; 2.可导入相片并查看; 3.相片可翻页; 4.相片可放大和缩小; 5.相片可自动浏览(浏览速度可设置),也可取消浏览.

2021-08-17

Qt模拟分子扩散(绘图,随机数)

在绘图区显示若干个不同颜色的圆点,通过定时器刷新圆点的位置

2021-08-16

QrCodeTest.zip

[原创]Qt生成二维码,二维码中间可放图片

2021-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除