编程笔记
文章平均质量分 69
前行中的小猪
一个爱数码,爱捣鼓,喜欢钻研,疯狂敲代码努力奋斗的Coder, Cheer Up!
展开
-
Qt获取本机Mac地址、Ip地址
今天给大家分享一个获取本机IP地址和Mac地址的方法,经过多次测试,台式机、笔记本等多个设备,暂时没有发现问题。由于很多时候本地安装了虚拟机、蓝牙、无线网卡或者其他设备等,会有多个Mac地址,所以需要进行多次过滤,其中也是遇到了很多坑,经过多次改进,如果小伙伴们有其他更好的方法,欢迎一起讨论。原创 2024-09-24 21:30:00 · 275 阅读 · 0 评论 -
QSettings使用笔记
QSettings使用笔记原创 2024-09-23 19:37:30 · 477 阅读 · 0 评论 -
如何让Windows控制台窗口不接受鼠标点击(禁用鼠标输入)
在我们编写控制台应用程序时,默认情况下程序的打印输出会在控制台窗口中进行显示,我们在写服务功能时在窗口中会不断打印消息输出,这个时候如果使用鼠标点击了控制台窗口,会阻塞程序的继续运行,导致我们的程序一直卡在那里不执行,这个时候需要我们按下enter键程序才会继续往下运行,就很头疼,有时候需要跑个流程需要运行很长时间,但是由于不小心点击了控制台窗口,导致程序被阻塞了一直没往下运行,白白等了半天时间,要不然就直接就禁止鼠标的输入,防止再次出现这种情况,下面通过很简单的方式来解决这个问题。原创 2024-09-14 20:30:00 · 486 阅读 · 0 评论 -
关于Win11系统生成dump文件失败的问题
在遇到无法生成dump文件时可以从多方面去查询问题的所在,本篇文章主要讲解在win11系统中无法生成dump文件的方法示例。原创 2024-09-10 08:59:46 · 937 阅读 · 0 评论 -
Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别
其中,(.so.1.0.0)为实际的动态库文件,(.so)、(.so.1)、(.so.1.0)均为软链接,都是指向(.so.1.0.0)的链接文件,为了版本控制。(2)Linux 下 QT 生成的(.so)、(.so.1)、(.so.1.0)和(.so.1.0.0)四个文件的区别。QT在生成动态库时,会默认生成(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)四个文件。(1)Linux 下 QT 生成的(.o)、(.a)和(.so)三个文件的区别。动态库的后缀名为(.dll)。原创 2024-01-03 23:20:54 · 1604 阅读 · 0 评论 -
Qt之如何使用matlab库对mat文件进行读写操作
一、简述分享一下在Qt使用matlab库进行一些操作,至于什么是matlab,百度一下,你就知道。matlab中有很多写好的库函数可以方便使用,想使用matlab自己的数据文件.mat文件也需要引用matlab的相关库函数。具体有两种用法:1、在matlab中写好相关函数,发布为dll供Qt使用2、直接在Qt中使用matlab库函数两种方法都有各自优缺点,其一因为在matlab软件中...原创 2019-10-14 16:57:03 · 6302 阅读 · 1 评论 -
QComboBox下拉框文字如何在字体变大之后自适应高度
一、简述一般我们给QComboBox设置完字体之后,在显示上并没有什么问题如下图。a、正常状态由于程序在最大化的时候,因为主窗口尺寸变大,需要整体改变所有控件的尺寸,文字的大小,所以在窗口最大化时因为文字变大,所以会出现这样的效果。我们发现下拉列表没有铺满,虽然下拉框的的高度变了。b、字体放大时,文字错位所以在ComboBox创建完成,第一次展开下拉框时,下拉框文字显示是正常的,无...原创 2019-08-09 16:36:38 · 6596 阅读 · 0 评论 -
Qt之使用QGraphicsDropShadowEffect添加窗口边框以及文字阴影效果
一、简述QGraphicsDropShadowEffect继承自QGraphicsEffect,实现了一种阴影的图像效果。我们在Qt助手中看到QGraphicsEffect派生了四个子类,分别实现不同的效果。这里我们看到QGraphicsEffect的子类实现了四种不同的效果,我们可以针对需求选择不同的Effect。今天我们要说的是使用QGraphicsDropShadowEffect来给...原创 2019-06-13 18:01:30 · 14167 阅读 · 6 评论 -
Qt 如何读取编辑保存显示 MarkDown文件
简述MarkDown 是一种轻量级、纯文本格式语法的语言,使用场景非常丰富,而且非常方便。CSDN的文章编辑就是使用的MarkDown语法,再比如github以及我日常使用的有道云笔记中都可以使用此语法去编辑文章。了解MarkDown语法有助于我们快速编辑对应格式的文章,也可以借助于对应的工具。CSDN、有道笔记也都有自己编辑文章的工具,操作起来也很方便。但是不同的是,他们都支持基本的Mark...原创 2018-10-25 21:12:31 · 4412 阅读 · 2 评论 -
VS 中常见问题汇总
一、vs 调试时看不到变量的内容如果我们看到项目属性 C++->优化 设置为使速度最大化 (/O2),见下图。此时调试时时无法查看变量的内容的。这里将项目属性设置为以上选项,发现基本类型类似int,bool 型变量值 在调试 时无法获取当前值,而QString却能够获取到,所以当我们调试时发现获取不了这些变量值时,只需要把优化选项改为已禁用即可。二、 fatal error RC1020: unex原创 2017-11-25 11:45:27 · 1526 阅读 · 0 评论 -
如何给生成的exe加图标
一、简述今天就简单介绍一下如何给exe加图标,其实很简单,但是主要是为了讲述另一个问题,这也是之前遇到的一个容易忽略的问题。首先我们了解一下一共有多少个图标可以设置。 看到下面这张图,我们首先会了解到生成的一个exe程序其实对应了三个图标,一个是exe本身的图标,一个是标题栏的图标,还有一个就是任务栏的图标。不过还有一个隐藏的图标,就是任务栏悬浮窗口的图标。这个只有在任务栏设...原创 2017-11-24 12:32:44 · 31568 阅读 · 5 评论 -
关于无法从“initializer-list”转换为“QJsonObject”解决办法
一、简述前些天在工作中使用QJsonObject的构造进行初始化出现了一下的问题。我们先看一下下面QJsonObject的一种构造方法。在我使用的VS2013版本编译时会出现无法从“initializer-list”转换为“QJsonObject”的问题。问题出在Q_COMPILER_INITIALIZER_LISTS宏定义。(见下图)class Q_CORE_EXPORT QJsonObject原创 2017-11-30 23:29:57 · 5501 阅读 · 0 评论 -
如何使用谷歌的protocolBuffer(for C++)
简述在上一篇 如何编译安装 protocolBuffer(for C++) 文章中讲述了如何编译,今天讲述一下如何使用,以及编译生成的一些选项以及额外的一些介绍。1、新建.proto文件下面我们先写一个简单的protobuf文件。新建一个以.proto结尾的文件,如message.proto。然后添加一个Student结构。syntax = "proto2";option optimize_fo原创 2017-09-01 17:53:41 · 1209 阅读 · 0 评论 -
如何编译安装 protocolBuffer(for C++)
一、简述今天这一篇文章讲一讲 protocolBuffer 的编译安装步骤。首先了解一下什么是protocolBuffer。(以下摘自百度百科),如果还不不明白,go on 百度一下。 protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相原创 2017-08-21 18:03:26 · 1600 阅读 · 0 评论 -
使用char型数组过程中遇到的问题
简述最近开发中用到了char数组来接收数据 , 在使用中遇到了一些问题,这里记录一下,同时也回顾一下char数组的用法。代码之路事例一:char aa[0];首先,我们要知道,0长度的数组在ISO C和C++的规格说明书中是不允许的,用VS2013编译报错:“不能分配常量大小为 0 的数组”。事例二:char aa[4] = "1234"; 这样我们定义一个长度为4的数组,直接赋值“1234”,这原创 2016-10-13 19:06:42 · 6642 阅读 · 0 评论 -
CString与char*互转、ANSI 和 UNICODE 编码及_T和L宏定义的介绍
1、简述之前在写MFC程序的时候经常会用到CString 字符串类型,自从转到Qt就转为用QString了,自然QString比CString好用多了。最近需要将CString 与 char* 进行互转,在使用过程中遇到了一些问题,在此记录下来。文章内容比较长,希望读者能够耐心看完,如果不看完我相信你一定会后悔的哦 O(∩_∩)O!注意:如果是在MFC工程中可以直接使用CString,而在给MFC工原创 2016-11-08 19:32:45 · 18874 阅读 · 8 评论 -
C++中 Unicode 与 UTF-8 编码互转
1、简述最近在发送网络请求时遇到了中文字符乱码的问题,在代码中调试字符正常,用抓包工具抓的包中文字符显示正常,就是发送到服务器就显示乱码了,那就要将客户端和服务器设置统一的编码(UTF-8),而我们程序中 一般用的是Unicode编码,所以这就需要将中文字符转为UTF-8格式的,其他英文字符和数字就不需要转了。下面就讲述一下方法。2、代码之路Unicode 转 UTF-8char* UnicodeT原创 2016-11-17 22:44:21 · 30400 阅读 · 1 评论 -
C++ 实现 发送HTTP Get/Post请求
1、简述最近简单看了一下关于HTTP请求方面的知识,之前一直用Qt来实现,有专门HTTP请求的QNetworkAccessManager类来处理,实现也比较简单,这里主要讲解一下用C++代码来实现HTTP 的Get/Post请求。 一个HTTP请求报文由请求行(request line)、请求头(header)、和请求数据*3个部分组成,注意请求头部分和请求数据中间需要加上“\r\n”*。下图给原创 2016-11-24 19:40:30 · 64735 阅读 · 15 评论 -
Google Breakpad 捕获程序崩溃报告代码简解
一、简述在上一篇 Qt 使用 Google Breakpad 捕获程序崩溃报告(dump文件) 中,我们用实例来演示了如何使用Google Breakpad 来捕获程序崩溃报告,主要引用三个lib文件以及一些头文件。实际写的代码很简单,下面简单介绍一下捕捉程序异常对象。二、代码简解#include "breakpadtest.h"#include <QtWidgets/QApplication>原创 2017-02-27 22:22:50 · 2685 阅读 · 0 评论 -
ActiveX插件的使用
一、简述ActiveX插件源自微软,主要作为IE浏览器的插件程序,在这里我们不多介绍了,主要是对这方面应用不是很懂。前段时间由于工作需要了解了一些,通过网上查询的一些资料对如何生成以及如何使用ActiveX插件在这里做一下详细的记录。二、如何生成ActiveX插件其实生成一个ActiveX插件很简单,只需几步即可,不过前提是电脑上要装上VS。介绍一下我的电脑环境:VS2013 + win8 。1、首原创 2017-02-27 23:45:33 · 2494 阅读 · 1 评论 -
Google Breakpad 在 windows下捕获程序崩溃报告
一、简述Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,支持Linux、mac、solaris、windows。通俗一点来讲,我们可以借助Google breakpad来捕捉程序程序崩溃的错误报告。即在程序崩溃时会生成dump文件。而dump文件是进程的内存镜像,能够保存程序中断时的进程状态,让我们在程序崩溃后能够了解具体原因。关于如何使用Google breakpad 网原创 2017-02-21 21:11:11 · 3640 阅读 · 0 评论 -
Qt 使用 Google Breakpad 捕获程序崩溃报告(dump文件)
一、简述在上一篇文章 Google Breakpad 在 windows下捕获程序崩溃报告中,简单介绍了Google Breakpad,同时讲解了如何如何获取Google Breakpad源码、环境的配置,以及自带demo的测试过程,今天就讲述一下如何使用Google Breakpad来帮我们自己的程序在崩溃的时候获取dump文件。下面我用Qt的程序为例,其他项目建立过程都基本类似,而且Google原创 2017-02-23 23:01:30 · 7031 阅读 · 5 评论 -
Qt之使用setWindowFlags方法遇到的问题
一、简述前段时间在使用setWindowFlags方法时遇到了一个坑,具体情况是想通过窗口界面上一个checkBox来控制窗口当前状态是否置顶,而Qt提供了Qt::WindowStaysOnTopHint标志,能够让窗口始终保持在其他窗口前端,也就是将窗口置顶。理论上,我们在勾选上checkBox之后将Qt::WindowStaysOnTopHint标志设置上,就会将窗口置顶,结果却将窗口隐藏了。那原创 2017-03-31 23:58:13 · 17991 阅读 · 10 评论 -
Qt / C++常见小问题汇总(二)
一、简述在上一篇文章 Qt / C++常见小问题汇总(一) 中讲述了两个小问题,今天就接着这篇讲述三个日常开发过程中会遇到的问题。问题列表问题一: 不允许使用不完整的类型 / error C2079: “xxx”使用未定义的 class“XXX”问题二: 在没有适当 operator()情况下调用类类型的对象或将函数转换到指向函数的类型 / error C2064: 项不会计算为接受 0原创 2017-07-14 17:27:44 · 12045 阅读 · 0 评论 -
Windows 剪切板的应用——复制浏览器or本地目录图片
一、简述最近看了windows的剪切板相关的应用代码,于是乎,便想将浏览器中复制的图片保存到本地,经过尝试,通过以下代码完成在浏览器中右键选择复制图片,然后监控键盘事件,当按下Ctrl + v 时保存到本地,并显示到界面上。看一下效果图:二、代码之路下面是基于Qt建立的工程,其他工程直接使用sendCopyImage() 、 SaveBitmapToFile()方法即可。#include "clip原创 2017-02-28 23:56:31 · 3007 阅读 · 3 评论 -
C++ 实现 ping 功能&& 域名(URL)解析实际 IP地址
1、简述一般情况下,我们想知道在当前电脑设备环境下,某一个网址能不能访问,最简单的方法是win + R 键 ,输入cmd,召唤cmd命令行程序,然后直接用ping命令 + 网址 来看返回的结果,那么我们是通过windows提供的工具来得到相应的结果,那我们能不能自己用代码实现呢? 答案肯定是可以的,在我们输入ping命令后,cmd.exe解析后就进行相应的操作,而我们就是去实现这个操作,下面就讲述原创 2016-10-31 22:55:12 · 10175 阅读 · 0 评论