QT踩坑记

QT连接postgresql - Windows
QT中文乱码解决方案

踩坑之 QList

对于如下代码

QList<T> * listExample = new QList<T>();

如果想要删除之:

listExample.clear()
delete listExample;

千万不可用下面的代码,不然会出现内存访问越界的情况:(我也不知道为啥)

listExample.clear()
delete[] listExample;

QList成员函数的介绍
T& at(int i) const返回第i个元素的引用,只读,在release模式中不会检测下标溢出
T& operator[] (int i)第i个元素的引用,可读写

踩坑之 — QTcpSocket

QTcpSocket不可以跨线程调用
想要跨线程使用的话可以直接用windows socket接口
除此之外,qt的网络库很多是不阻塞的,其对应的阻塞版本在windows中有时候会失败(官方帮助中说),因此想要阻塞调用时,可以用windows socket接口。

踩坑之——自定义信号

信号中使用自定义的数据类型时,要先注册,可以在主函数中注册。qRegisterMetaType

猜你喜欢

转载自blog.csdn.net/JackDual/article/details/110147867