(1)QUdpSocket接收数据

进入槽后,要用这种方式读取,否则可能会导致不发readyRead()信号 。
while(udpSocket->bytesAvailable())
{
udpSocket->readDatagram(ch,size);
}

(2)QTcpSocket删除

一定要用deleteLater
一定要用deleteLater
一定要用deleteLater
否则会导致用户对象溢出

(3)运行文件附带调试输出窗口

CONFIG += console pro
配合->http://github.com/851896022/QLog

(4)可以在pro文件中写上标记版本号+ico图标

VERSION = 2019.08.08
RC_ICONS = main.ico

(5)解决socket传输后等中文乱码

转成base64传输
QByteArray(QString.toStdString().data()).toBase64()

(6)QT连接MySql后,长时间无操作(默认8小时)会断开。

isOpen()等函数无法判断,需执行sql语句才能发现失败
QSqlDatabase.setConnectOptions("MYSQL_OPT_RECONNECT=1");
↑断开后可自动重连

(7)在槽使用sender()函数可获取到发出信号的对象的指针。

(8)子线程中使用QAxWidget不成功,原因是在QApplication的主线程中,会自动初始化COM库,而新开辟的子线程不会自动初始化COM库,所以需要我们手动来初始化。

//添加头文件
#include <windows.h>
//在线程开始的时候初始化COM库:
HRESULT r = OleInitialize(0);
if (r != S_OK && r != S_FALSE)
{
qWarning("Qt:初始化Ole失败(error %x)",(unsigned int)r);
}
使用结束后需要释放掉:
OleUninitialize();

(9)file.write()以后调用file.flush()避免数据在缓存中未成功写入。

(10)延时。

{
QEventLoop loop;
QTimer t;
connect(&t,SIGNAL(timeout()),&loop,SLOT(quit()));
t.start(1000);
loop.exec();
}

(11)别用QWidget布局,别问我怎么知道的。

(12) 对QLCDNumber控件设置样式,需要将QLCDNumber的segmentstyle设置为flat。

(13)QTimer::singleShot 计时器单次触发,有时会有意想不到的效果

(14)QByteArray 有toHex 有fromHex 有toBase64有fromBase64

QT攻略——我在QT中遇到的那些坑的更多相关文章

  1. 【CTF 攻略】CTF比赛中关于zip的总结

    [CTF 攻略]CTF比赛中关于zip的总结   分享到: --> 本文首发于安全客,建议到原地址阅读,地址:http://bobao.360.cn/ctf/detail/203.html 前言 ...

  2. C++冒险攻略(持续更新中。。。)

    C++语言程序设计 我的C++冒险之旅 绪论 计算机系统基本概念 计算机硬件 计算机程序语言 计算机解决问题是程序控制的 程序就是操作步骤 程序要使用语言来表达 机器语言 计算机能识别的是机器语言 机 ...

  3. 在net安装程序中部署oracle客户端全攻略

    在net安装程序中部署oracle客户端全攻略 主要的是要做三件工作: 打包文件,写注册表,注册环境变量说明:我的oracle版本为9, 在2000 advanced server 上测试通过,可以正 ...

  4. webBrowser中操作网页元素全攻略

    原文 webBrowser中操作网页元素全攻略 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBr ...

  5. EhLib DBGridEh组件在Delphi中应用全攻略总结(转)

    EhLib DBGridEh组件在Delphi中应用全攻略总结(转) http://blog.sina.com.cn/s/blog_94b1b40001013xn0.html 优化SQL查询:如何写出 ...

  6. Windows下OpenCV 3.1.0 在 Qt Creator 4.0.2 (Qt 5.7.0 MinGW) 中的开发环境配置

    2017-2-23 Update: 修改并添加了部分细节 最近正在学习OpenCV ,为毕业设计做准备.Windows版本的OpenCV都默认提供对VS的支持,其在VS中的配置比较简单,网上也有大批教 ...

  7. UI设计行业中的“延禧攻略”,教你从青铜变王者

    最近一直在追<延禧攻略>,女主魏璎珞敢爱敢恨,有仇必报的性格吸引不少人,她从低贱的秀坊小宫女步步为营,最终成为皇帝最宠爱的令妃呼风唤雨.尔虞我诈的后宫,想要打怪升级光有颜值是万万不够的,更 ...

  8. WPF/Silverlight深度解决方案:(七)HLSL自定义渲染特效之完美攻略(中)

    原文:WPF/Silverlight深度解决方案:(七)HLSL自定义渲染特效之完美攻略(中) 通过上一节的解说,大家是否已经对HLSL有了较深刻的认识和理解,HLSL的渲染不仅仅局限于静态处理,通过 ...

  9. 想在don‘t starve中活的更久?那饥荒海难攻略你怎么能不知道!

    饥荒海难mac版是一款非常好玩的烧脑游戏.玩家将扮演一个勇敢的绅士科学家威尔逊,被一个恶魔困住并送到一个神秘的荒野世界,玩家必须利用异世界中的自然资源让自己存活下去,并且抵御各种异世界生物的威胁.想在 ...

随机推荐

  1. Gin-Go学习笔记四:Gin-Web框架 文件的上传下载

    文件的上传和下载 1->文件的上传 文件的上传,采用的是uploadify.js这个插件. 本事例实现的是上传图片文件,其他的文件上传也一样. 2->文件的下载 文件的下载有两个实现的方式 ...

  2. Clang交叉编译初识

    最近工作中要编译一个第三方的C库用于iOS端使用,我直接在Mac OS的终端中./configure & make & make install常规走下来,却无法在真机iOS上使用,提 ...

  3. C# Net 计算周(可正推和逆推)

    C# Net 计算周(可正推和逆推) 拷贝代码(方法): /// <summary> /// 计算周 /// </summary> /// <param name=&qu ...

  4. Linux 如何用命令查看binlog文件的创建时间

    目录 背景 分析 方法 注意 背景 MySQL在26日 16:23:49产生了大量的慢查询,在这段时间内,binlog文件刷新的很快(查看慢日志是mysql DML并发比较多),想知道写完一个binl ...

  5. seq2seq模型详解及对比(CNN,RNN,Transformer)

    一,概述 在自然语言生成的任务中,大部分是基于seq2seq模型实现的(除此之外,还有语言模型,GAN等也能做文本生成),例如生成式对话,机器翻译,文本摘要等等,seq2seq模型是由encoder, ...

  6. 洛谷P2680 运输计划(倍增LCA + 树上差分 + 二分答案)

    [题目链接] [思路]: 根据题意可以明显看出,当所有任务都完成时的时间是最终的结果,也就是说本题要求,求出最小的最大值. 那这样的话就暗示了将答案二分,进行check. [check方法]: 如果说 ...

  7. 安装elasticsearch+kibana+searchguard

    ---------------------------------安装es的search-guard-------------------------------------------------- ...

  8. 第11节-BLE协议HCI层的硬件接口

    本篇博客由韦东山视频整理所得 如何控制链路层让其发出广播包.数据包?通过HCI层向它发出命令,也可以通过ATT层.L2CAP层向LL层发出数据. 学习资料: 蓝牙协议core_v5.0.pdf < ...

  9. 自动化测试框架:jmeter + maven+ jenkins

    原理:jenkins驱动maven执行,maven驱动jmeter执行 前提条件:windows安装了jmeter.maven.tomcat.jenkins 安装方法参考汇总目录中对应的博文:http ...

  10. Table to List<object> C#

    我们有 myobj 是这样的 public class MyObj { public string Name { get; set; } public int ID { get; set; } } 再 ...