
Qt
文章平均质量分 84
一只小水鱼
这个作者很懒,什么都没留下…
展开
-
QFileDialog 阻塞 windows QXmpp 解决方案
背景使用了 QXmpp 实现 IM,QXmpp 需要与 服务器保持联通,方法就是 ping。app 发送 ping 后固定时间内若没有收到响应,则认为服务器失连,则断开链接;同样,服务器发送 ping 给 client,固定时间内若没有收到响应,则认为 app 失联,则断开链接。问题:1、发送文件时,需要阻塞用户输入,因此选择 模态 显示 QFileDialog。 2、模态显示 ...原创 2018-07-09 17:16:16 · 1562 阅读 · 0 评论 -
基于 Qt QThread 的同步任务队列和异步任务队列
Qt QTread 背景知识1、moveToThread QObject worker; worker.moveToThread(_thread);这个 worker 不能指定parent,否则 moveToThread 会失败。同样,如果 worker moveToThread 后,不能设置非同一线程下的 parent。 即,对象树下的所有对象、都必须在同一线程里,否则无论是修...原创 2018-07-09 18:11:58 · 11618 阅读 · 3 评论 -
基于 Qt 的 NTP Client 实现
目录NTP 协议简介原理协议内容实现代码NTP 协议简介NTP,Network timestamp protocol,网络时间协议。NTP client 简单来说,就是以网络上某个节点上的时间为基准,校正本机时间。NTP server 即提供本机时间戳给 client 校准的服务器。NTP 协议是基于 UDP 的。原理NTP 的实现是 C/S 结构的,client 向 server ...原创 2018-11-01 04:05:04 · 4448 阅读 · 3 评论 -
Qt正确的拼接跨平台文件路径
跨平台问题windows 的文件分隔符是 \ ,而 macOS 和 linux 的文件分隔符是 /windows 的路径有盘符,如 C:情景一已知 文件路径 和 文件名,拼接该文件的绝对路径QString fileDir("C:\\test");QString fileName("myfile.txt");QDir dir(filePath);QString absFileP...原创 2019-01-07 11:33:15 · 5170 阅读 · 0 评论 -
基于 QLocalSocket 、QLocalServer 的进程间通信。
基础:QLocalSocket 是本地 socket client 端,在 windows 里是用有名管道实现的,在 unix 里是本地域名socket实现的。QLocalSocket 是事件驱动的,但也可以通过 waitFor… 系列方法阻塞使用。QLocalServer 提供了本地 socket server 端。跟一般的 socket 使用方式类似:创建 对象,listen,wait ...原创 2019-01-16 22:51:34 · 6473 阅读 · 3 评论