C++知识总结
文章平均质量分 52
自己平时Window、Linux C++实践,琐碎知识总结!
皓月盈江
这个作者很懒,什么都没留下…
展开
-
Qt Creator创建Python界面工程并打包为可执行exe文件
Qt Creator创建Python界面工程并打包为可执行exe文件原创 2023-02-06 21:47:09 · 1655 阅读 · 0 评论 -
Linux Debian11安装QT6开发环境
从Qt5.14开始,官方不提供离线安装包,只提供源码包和在线安装器。但是清华为我们提供了快速的在线安装方式。Linux Debian11安装QT6开发环境的详细教程。原创 2023-01-23 20:05:14 · 4080 阅读 · 1 评论 -
Qt6 在线安装图文步骤
说明:Qt 自从5.15版本开始,对非商业版本,也就是开源版本,不提供已经制作好的离线exe安装包,自这个版本开始你只有两种选择:1、编译源码 例如qt-everywhere-src-5.15.2.zip 编译步骤繁琐,需严格遵循步骤花费数小时不等的时间;2、在线联网安装:清华源或者其它方法代理直连。===========================================1、下载在线安装工具,路径统一了,不区分版本了,三种系统都是一个包;https://mirrors.tuna.转载 2021-01-30 10:19:26 · 5504 阅读 · 2 评论 -
Modbus通信协议之CRC16冗余循环校验函数
Modbus 通信协议详解:https://www.cnblogs.com/txwtech/p/11104428.htmlModbus 通信协议详解#include <QCoreApplication>#include <QTextStream>#include <stdio.h>//然后,在使用cin、cout、cerr之前,创建下列变量:QTextStream cin(stdin, QIODevice::ReadOnly);QTextStream c原创 2021-01-06 13:09:42 · 359 阅读 · 0 评论 -
Snipaste在Window运行后遇到提示计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll 错误
故障排除以下为运行 Snipaste 可能遇到的错误及其解决方案。Windows运行后遇到提示计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll 错误请根据你操作系统的版本(32位/64位),下载并安装相应的微软 Visual C++ 2015 可再发行组件包:32位|64位 如果没有权限安装 VC2015 或安装失败,也可以下载相应压缩包(3...转载 2019-10-16 08:56:38 · 4656 阅读 · 1 评论 -
VS2010 error C299: “Font”:“struct”类型重定义
在VS2010里添加了在VC6.0里形成的OFFICE库文件的类 excel9.h,excel9.cpp,就是我在VC6里做操作OFFICE的表格时候添加的库文件,然后把它们( excel9.h,excel9.cpp)加载VS2010里,然后就报很多的错误。下面的错误只是一部分:错误 1 error C299: “Font”: “struct”类型重定义错误 2 error C211: ...原创 2019-09-02 17:22:12 · 662 阅读 · 0 评论 -
VS2010中使用sprintf出现warning C4997: 'sprintf': This function or variable may be unsafe.
使用VS2010编译时。会出现以下警告。warning C4997: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for de原创 2017-11-22 17:10:38 · 989 阅读 · 0 评论 -
MFC串口通信串口指示灯的实现
前一段做了个串口通信小软件,当打开串口时串口指示灯亮,关闭串口时串口指示灯灭,实现方法如下:1.在资源视图中,添加两个图标,分别为串口指示灯灭IDI_ICON1,串口指示灯亮IDI_ICON2。2.在串口通信软件界面上添加图片控件,并利用类向导在对话框头文件中添加下面变量:HICON m_hIcon_close;//图片句柄关闭HICON m_hIcon_open;原创 2017-07-22 23:03:44 · 5215 阅读 · 0 评论 -
自绘热点按钮
本程序自绘位图按钮,当鼠标滑过按钮时显示按钮的热点效果;还可以为对话框设置背景图片。原创 2015-07-07 09:38:19 · 898 阅读 · 0 评论 -
MFC设置对话框背景色及控件颜色
MFC设置对话框背景色及控件颜色一、使用背景图片更改对话框背景色在对话框源文件void CxxDlg::OnPaint()函数中if (IsIconic()){ (这里省略)}else{ CDialogEx::OnPaint();}else里面添加下列代码:效果如下图所示:二、使用颜色更改对话框背原创 2015-07-04 15:53:43 · 37445 阅读 · 7 评论 -
利用MFC按钮使能(或禁用)属性使按钮变正常色(或灰色)
利用MFC按钮使能(或禁用)属性使按钮变正常色(或灰色)GetDlgItem(IDC_XXX)->EnableWindow(FALSE)//IDC_XXX为你想变灰的按钮的ID利用你找到的handle,或者窗体(按钮也是一个窗体)指针,或者变量名,利用BOOL EnableWindow(HWND hWnd,BOOLbEnable)将其变为不可用或者可用。典例:原创 2015-01-16 15:59:05 · 31777 阅读 · 0 评论 -
MFC中CString类字符串用法小结
一、 赋值运算 二、 比较运算注意:如果s1小于s2;则z等于-1;如果s1大于s2;则z等于1;如果s1等于s2;则z等于0;三、 删除函数四、 插入函数五、 计算字符总个数函数 更加详细内容参考VS2010 MSDN原创 2015-01-11 18:42:12 · 1068 阅读 · 0 评论 -
MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
一、长整型数据与CString类字符串相互转换1.将长整型数据转换为CString字符串类CString str;long ld;str.Format(_T("%ld"),ld);2.将CString字符串类转换为长整型数据CString str;long ld;ld=_wtol(str);_wtol()在 and 中二、浮点型数据与CStrin原创 2015-01-11 14:02:42 · 6592 阅读 · 0 评论 -
MFC新建文件夹、打开文件夹的实现方法
一、 MFC新建文件夹到指定路径的实现方法典例:二、 MFC保存文件到指定路径的实现方法典例:三、 MFC打开指定路径的文件夹的实现方法典例:注意:ShellExecute函数还可以打开指定路径的普通文件或者可执行文件。原创 2015-01-10 20:41:57 · 2354 阅读 · 0 评论 -
简易数字时钟软件详细制作过程
这是我自己用VS2010制作的简易数字时钟小软件,在制作过程中收获知识不少,希望和初学MFC编程的朋友分享一下。其功能有一下点:1.打开软件后,其程序自动获取当前电脑系统的日期、时间和周次,并同步显示在主对话框上;2.点击“设置时间”按钮,弹出设置时间子对话框,在其中可以设置自己想设置的时间(采用24小时格式制)。若输入的内容和格式都合法则主对话框显示此时间,并依此时间运行;若输入的内原创 2014-11-04 20:39:28 · 5461 阅读 · 1 评论 -
Vim设置默认字体、窗口大小和配色方案
最新开始学习Vim,每次打开窗口后,发现自动打开的Vim编辑窗口很小,又是使用的高分辨率笔记本,所以字体也很小,上网查找了一下解决方法,总结如下。修改都是在_vimrc文件进行的,该文件位于vim安装的主目录,不同安装可能略有不同,针对我的电脑,位置是:C:\Program Files (x86)\Vim_vimrc。注意,如果你将vim安装到非系统盘可直接修改_vimrc,若是安装到了系统盘,则_vimrc是只读文件,直接修改该文件会提示“您正在修改一个只读文件”,提示无法保存,即使选择:wq!也无法原创 2020-07-29 22:58:29 · 5704 阅读 · 2 评论 -
QT5快速转换路径(/斜杠与\反斜杠转换)
1./转\(斜杠转反斜杠)函数 [static] QString QDir::toNativeSeparators(const QString &pathName)2./转\(斜杠转反斜杠)函数[static] QString QDir::fromNativeSeparators(const QString &pathName)下面测试典例: //获取应用程序的目录 QString strCurrentApplicationDirPath=QCoreApplica原创 2020-07-22 12:58:12 · 4362 阅读 · 0 评论 -
QT5 exec()模态显示子对话框,父子对话框都最小化后显示桌面
QT5 exec()模态显示子对话框,在任务栏上单击鼠标右键,出现‘’显示桌面”选项,选中后,QT5父对话框最小化,但是子对话框一直显示在最上层,却不随父对话框一起最小化。后来发现是添加了Qt::WindowStaysOnTopHint原因dlgSoftReg->setWindowFlags(flags | Qt::MSWindowsFixedSizeDialogHint);去掉Qt::WindowStaysOnTopHint即可正常!如下代码: QDlgSoftReg *dlgSo.原创 2020-07-19 16:18:12 · 856 阅读 · 0 评论 -
QT5获取运行程序的工作目录与程序所在的目录
在qt-creator中debug的时候,发现程序不能读写所在目录的配置文件,资源文件。Google了一下,原来 运行程序的 工作目录 与 程序所在的目录是不同的概念。跑跑这段代码就知道了:#include <QDebug>#include <QDir> QString strCurrentApplicationDirPath=QCoreApplication::applicationDirPath();//获取应用的目录 qDebug()<<原创 2020-07-19 12:20:27 · 1765 阅读 · 0 评论 -
QT5获取CPU编号和硬盘序列号
windows下执行命令除了用cmd之外,还有个东西叫WMIC,非常强大,可以通过他获取很多信息,包括硬件信息。#include <QProcess>QString frmMain::getWMIC(const QString &cmd){ //获取cpu名称:wmic cpu get Name //获取cpu核心数:wmic cpu get NumberOfCores //获取cpu线程数:wmic cpu get NumberOfLogicalProc原创 2020-07-18 23:19:06 · 2198 阅读 · 0 评论 -
QT5获取QPlainTextEdit 某行内容
#include <QTextBlock>#include <QMessageBox>QString str;//获取总行数str = QString::number(ui->plainTextEdit->document()->lineCount());QMessageBox::information(this, "information", str);//输出某行内容str = ui->plainTextEdit->documen原创 2020-07-16 10:07:48 · 5782 阅读 · 1 评论 -
QT5获取两个list中的不同值
QT5开发平台,QStringList A包含QStringList B,现在需要取出两个list中的不同值,QStringList result=(“23”, “78”) QStringList A={"23","45","78","92"}; QStringList B={"45","92"}; QStringList result; for(QString str:A) { if(!B.contains(str)) {原创 2020-07-16 09:35:02 · 1325 阅读 · 0 评论 -
QT5 QSqlQuery的SELECT INSERT UPDATE DELETE命令用法
1.QSqlQuery的SELECT查询记录用法: QSqlQuery q("SELECT * FROM departments"); QSqlRecord rec = q.record(); int idCol = rec.indexOf("departID"); // index of the field "departID" int nameCol=rec.indexOf("department");// index of the field "department".原创 2020-05-31 09:20:36 · 4377 阅读 · 1 评论 -
Windows Qt5下用QAxObject快速读写Excel指南
Qt Windows 下快速读写Excel指南很多人搜如何读写excel都会看到用QAxObject来进行操作,很多人试了之后都会发现一个问题,就是慢,非常缓慢!因此很多人得出结论是QAxObject读写excel方法不可取,效率低。后来我曾试过用ODBC等数据库类型的接口进行读写,遇到中文嗝屁不说,超大的excel还是会读取速度慢。最后,看了一些开源的代码后发现,Windows下读取...转载 2019-10-11 22:38:03 · 2689 阅读 · 2 评论 -
Qt QtCreator 所有版本官方下载地址
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/xiezhongyuan07/article/details/79246556直接跳过输入账号,选择所需版本。废话不多说,直接上链接1.所有版本QT下载地址 :http://download.qt.io/archive/qt/...转载 2019-10-07 11:08:49 · 3632 阅读 · 0 评论 -
Linux 下 Qt 5.12无法切换中文输入法
无法切换中文输入的原因是当前下载的QtCreator中没有适配当前输入法框架(ibus、fcitx)的动态库解决方法:一、安装对应的输入法插件1、如果是fcitx:ubuntu18.04:sudo apt-get install libfcitx-qt5-dev拷贝系统路径上的(/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcon...转载 2019-10-08 10:16:54 · 2996 阅读 · 0 评论 -
GIMP 基本教程
本文主要记录笔者使用GIMP的心得,有些具体操作内容会省略,读者可以酌情阅读,内容较多,建议通过右边目录查看。GIMP 是高级图片编辑器。 您可以使用它来编辑,增强和修饰照片和扫描,创建工程图以及制作自己的图像。 它具有大量的专业级编辑工具和滤镜,类似于您在 Photoshop 中可能会找到的工具和滤镜。 众多精细控制设置和功能(例如图层,路径,蒙版和脚本)使您可以完全控制图像。...转载 2019-10-08 19:56:21 · 5630 阅读 · 0 评论 -
Linux ubuntu安装搜狗输入法
1.下载搜狗输入法的安装包下载地址为:http://pinyin.sogou.com/linux/,如下图,要选择与自己系统位数一致的安装包,我的系统是 64 位,所以我下载 64 位的安装包sogoupinyin_2.2.0.0108_amd64.deb安装方法:1.打开命令终端,输入:sudo apt-get install xxx.deb 路径2.重启电脑,在左下角...原创 2019-10-08 20:48:18 · 205 阅读 · 0 评论 -
Linux QT5.12 一种整体界面字体设置的方法及设置PlainTextEdit组件的字体大小方法
1.在Linux QT5.12开发界面时,经常会涉及到界面字体大小的设置,默认字体一般比较小,解决方法如下:在main函数中添加代码://============================================// 一种整体界面字体设置的方法: QFont font = a.font(); font.setPointSize(14); a.se...原创 2019-10-08 21:24:18 · 3649 阅读 · 0 评论 -
Linux kubuntu x64系统下解决QT5.12编辑菜单和工具栏不显示图标问题
Linux kubuntu x64系统下发现QT5.12在设计视图下编辑菜单和工具栏显示图标,但是编译运行后发现菜单和工具栏不显示图标,如下图:我的解决办法是:1.在QT项目中,菜单和工具栏图标一定要添加到项目资源文件中(在资源编辑器中Add Prefix后,再添加文件,关闭资源编辑器后自动将图标文件添加到资源列表中),如下图显示:2.打开后缀.ui的可视化设计窗体文件,xxx...原创 2019-10-10 22:21:39 · 1049 阅读 · 1 评论 -
QT5更改应用程序图标
1.准备好.ico的图片放在工程目录下,并添加到项目的资源文件中2.在项目配置.pro文件中添加一下内容RC_ICONS += AppIcon.icoAppIcon为你的ico图片名字3.在可视化设计文件.ui中选择主窗口,将其属性中的windowIcon一项右侧下三角单击,从“选择资源”选择为你的ico图片...原创 2019-10-11 12:07:48 · 1314 阅读 · 0 评论 -
Ubuntu开发环境配置--- 安装chrome浏览器
Ubuntu开发环境配置--- 安装chrome浏览器版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/idomyway/article/details/81986062前言Ubantu中自带了Firefox,而Firefox在开发上的效率是低于chrome的,...转载 2019-10-04 14:04:55 · 286 阅读 · 0 评论