自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 利用翻译文件使QMessageBox按钮显示中文

之前弄软件翻译功能的时候,调QMessageBox静态函数生成的提示框按钮是英文的,为了一致,就上网找了解决方法,然后看到了这篇文章QMessageBox如何显示中文按钮。直接把这文章的处理内容复制到翻译文件下(.ts)再发布翻译。...

2020-11-06 15:21:11 12

原创 为什么浮点类型变量不能直接比较?而是用一个范围?

并不是不可以,而是不推荐,因为容易出错。从下面的例子中能看出(true打印出来是1,false打印出来是0),由于浮点数有精度的问题,数值结果很容易出现偏差。f2 - 81.2不等于0是因为,f2是float类型的,字面量81.2默认是double,所以由于81.2到float类型已经精度不准了,减去精准的81.2得到的结果肯定也不准了。f1/5=f3也是一样的道理,但由于f2和f3都是81.2转过去的,所以这两是相等的,f3跟81.2是不相等。==0也是一样的道理。如果要比较,结合数据类型和自己要求的精度

2020-10-24 00:47:36 17

原创 解决QtQAxBase: Error calling IDispatch member SaveAs: Exception thrown by server

workbook->dynamicCall(“SaveAs (const QString &)”, file);file是不能用’/’,如果调QCoreApplication::applicationDirPath()等QT的API获取路径的,都需要调replace(’/’, ‘\’)把’/‘替换成’\’,或者自行把’/‘替换成’\’。注:workbook的来源QAxObject *excel = nullptr; QAxObject *workbooks = nullptrQAx

2020-07-14 22:41:21 620

原创 自己给自己写了一个有趣的BUG,数组越界越到程序自身的安全空间

当初为了把0x0-0xFF打乱,因为char和unsigned char保存到内存的值都是一样的,都是十六进制(也就是-1的char和255的unsigned char做一个字节的比较时是相等的,因为十六进制都是0xFF),只是表示出来不一样而已,所以就没用unsigned char。结果就出现了上面BUG,当value=-23~-21时才会这样,count的值大于了256,跳出了循环。原因:打三个地址出来一看,count的地址(0x4ffc28 )- flag(0x4ffc40)等于十进制的-24,.

2020-06-11 16:00:37 92

原创 VS编译错误 C2675 一元“++”:“_Iter”不定义该运算符或到预定义运算符可接收类型的转换

如果在错误列表那双击就会跑到标准库的文件里去了,但错误明显不可能是标准库的问题,肯定是自己哪里写错。因为VS的编译信息会在输出窗口打印出来,所以在输出窗口那搜索"error"就可以定位到打印编译错误的地方,但哪行并不是我们想要的,直接看下一条编译信息,看在哪个文件哪行(在编译信息那双击就行),这样就可以知道错误在哪了。以上就是我对那个编译错的查找方法,导致这错误的原因是对map的insert函数错误使用。...

2020-05-23 15:19:14 309

原创 QT(qCompress和qUncompress)与zlib(compress和uncompress)相互调用

通过对qCompress和compress压缩的数据进行打印,可以知道qCompress比compress的数据长四个字节

2020-05-20 16:52:07 318 1

原创 编译器的堆空间不足

我用debug模式一点事都没有,结果切换回release编译报了10个错误,全是"编译器的堆空间不足"。网上找到有条说跟内存有关,然后我看了下任务管理器,16G内存用了10G,但还是报这个错,后来把写软件关联,把内存降到了3G多,然后再编译就通过了。很奇怪...

2020-04-10 16:00:38 1387 2

原创 QTableWidget setitem不显示

1、如果是调用insertRow插入行的,再调setRowHeight设置行高就可以了。2、如果不是,那可能是rowCount返回的是0,这需要调setRowCount设置行数或者调insertRow插入行,再调setRowHeight设置行高就可以了。...

2020-04-09 10:49:05 549

原创 二进制:没有找到接受“const _Ty”类型的左操作数的运算符(或没有可接受的转换)

我遇到的问题是“二进制“<”: 没有找到接受“const _Ty”类型的左操作数的运算符(或没有可接受的转换) ”。双击错误信息后,到了xstddef文件的struct less的()操作符重载那。遇到这种直接跑到模板下面的情况,通常都是用了某个模板类等模板相关的类型、函数,而我是自己定义了一个结构体,然后用了set容器,由于set容器是会自己排序的,而我的结构体又没有写<的操作符重载...

2020-03-31 11:46:06 1532 1

原创 VS编译带QT的工程:error MSB6006: “cmd.exe”已退出,代码为 3。

因为我的工程是拷贝被人的,所以QT路径是不一样的。1. 需要在VS上安装QT插件,然后点击QT VS Tools的Qt Options去配置你的QT编译版本2. 点击ADD选择你的编译版本,如msvc2017,msvc2017_64,msvc2019等。如果已经配置过了可以忽略这一步3. 点击下图位置的选项,然后弹出个窗口点是,最后就可以编译通过了...

2019-11-08 20:43:49 720

原创 C语言strcpy和memcpy

C语言strcpy和memcpy

2019-08-02 11:16:25 188

原创 C语言数组

void main(){ int a[10] = { 0,1,2,3,4,5,6,7,8,9 }; //a代表的是数组的首地址(首元素的地址),其类型是int *。 //&amp;a = 10; //&amp;a其实就等同于一个常量,常量是不能做左值的。比如数组a的首地址是0x1234,那么&amp;a就是代表0x1234,所以0x1234=10是不对的。 //正确操作应该如下 int...

2019-06-08 11:57:29 795

原创 VS不能使用回车键和删除键及其他键问题

原因:系统win10,用搜狗输入法中文模式在VS上打中文时按了shift后就会出现这样的问题。如:在下面这状态下按shift就会出现如题的问题。解决方法:再切回中文模式打字或者把输入法的选词框弄出来再消失(不能按shift)就可以了,然后在切换回英文模式就能正常码代码了如:再把这框弄出来再按删除键或者回车键或者选词就可以了...

2019-05-20 16:07:33 5890 1

原创 C语言 指针变量及相关的知识

指针是一个特殊的变量,因为他的运算方式和所代表的东西跟基础数据类型不一样。指针变量存储的是内存单元的地址编号,这地址就跟我们家门口的门牌号一样。当用解引用运算符(*)的时候,CUP就会到对应的内存单元取内容,至于取多少,主要看定义时定义的是什么类型的指针,也可以用下标操作符([])。

2019-03-24 15:03:16 93

原创 C语言基础数据类型的隐式转换、截断和解析问题

2019-03-12 16:59:56 727

原创 QML属性值设置(初始化)方式

QML属性值设置(初始化)方式有很多种,下面列出四种(常量、表达式、变量或者函数方式赋值)方式:第一种方式–常量://常量方式赋值Rectangle{ id: rect1 x:0 y:0 width:10 height:30}第二种方式–变量://变量方式赋值,变量可以来自他上层(上司)的。Rectangle{ id: rect2 x: rect1.width y:...

2018-12-26 10:46:33 1486

原创 QT获取信号的发送者

兰布达表达式(Lambda)for(int i = 0; i &amp;lt; 5; i++){ QMessageBox *messageBox = new QMessageBox; messageBox -&amp;gt;setText(QString::number(i)); messageBox -&amp;gt;setWindowModality(Qt::NonModal); messageBox -...

2018-12-06 16:46:44 2584

原创 QT链接外部库的时候出现无法解析的外部符号

出现无法解析的外部符号无非就是找不到那个符号(函数)。除了常见的那几种解决方式,还有一种情况是编译库的位数不对,比如编译库用的编译器是32位的,但你的程序是用64位编译器的,这时也会出现这种情况。我出现这种情况的时候,把QT常用的那几种解决方式都没办法解决,直到我把QT的工程去用VS编译的时,在VS的错误列表中看的了一条VS提示的警告。![在这里插入图片描述](https://img-blog...

2018-11-23 17:30:20 1416

原创 QT MSVC中文编译出错error: C2001: 常量中有换行符

QT上用MSVC去编译部分含有中文的字符串时会出现编译错误error: C2001: 常量中有换行符,但用MinGW就不会。需在后面加个正常的字符才能正常编译,但出现乱码了。其编码如下图,明显的看着编码不对。 如果想都编译成功,那就需要在设置里把“文件编码”的UTF-8 BOM改成“如果编码是UTF-8则添加”。如下图 但这样做直接编译出来的都是乱码。编码如下图 需用QStrin...

2018-08-02 11:42:01 8407 12

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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