Qt 中使用SQLite

SQLite是一个轻量级的文件型数据库,非常小巧而几乎被各大操作系统平台默认支持,支持使用标准的SQL 查询语句对数据库进行操作。Qt 直接提供了对其的引擎无需额外安装LIB ;这次的项目也用到了它。#ifndef SQLITEFUNT_H #define SQLITEFUNT_H #include <QDebug> #include <QList> #include <QSql> ...

Qt 中常用正则表达式

这次因项目需要才开始用Qt ,多处都需要使用到一些字符串的检查。正则表达式是不二之选,因此将一些在用和经常会用到的正则表达式记录下来,方便以后摘用。判断是否是一个合法的URL :bool NewDown::existUrl(const QString &strText) {     bool bResult = false;    & ...

Qt 中实现RPC 请求( POST + JSON )

RPC 通讯方式简而言之就是一个 http 请求返回的过程,客户端发起一次 http 的 post 请求,请求参数用标准的 JSON 格式封装在请求包中,服务端收到这个请求包后解析出参数 JSON 中的内容,作出相应的处理后将需要的数据封装成JSON格式在http 返回包中,客户端即可收到请求的结果。这个过程理论上与通过http 访问某个URL 页面(地址)得到这个地址返回的文字信息没有区别。这里重点在于  1. 在QT 中实现POST 请求;  ...

Base64 Qt实现

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL ...

QT 中获取本机IP 地址、掩码、网关

开发网络系统相关程序时我们经常需要取得本机的IP 地址, 排开原生C socket 的方法和调命令行之外,在QT 中也为开发者提供了一个接口,可以方便的获取本地网络设备相关的配置信息;IP 地址是与网卡绑定的,一台机器上可以有多张网卡(网络适配器)每一张网卡都可以有多个IP ;当我们需要取IP 时,首先要取出网卡的列表,再从逐个网卡中取出一个或它的多个IP 地址;而且新的规范中IP 地址还有V4 与 V6 之分;也需要区别处理;/**    & ...

再谈QT中调Linux 命令完成功能 遭遇grep 时

前面一篇提到过在Linux 中qt 开发程序时会偶尔用QProcess 调用Linux 命令来完成一些功能。但是最近爱上的一个命令 grep 就中招了,grep 一般都与其他命令一起用管道符 |  配合使用, 比如 ps aux | grep aria2c 可以从当前的进程列表中找出 aria2c 这个进程来( 相当于同时查找过滤 ); ...

在QT 用懒人方法获取本机机器名与登录用户名

前两天有一个需求要获取本机的机器名与登录用户;以前一直玩Windows 像这样的功能MSDN 中都可以找到现成的API函数。 可是Linux 没有玩过啊,于是请教同学,得到的答案是“这个很复杂,你不始直接用命令取,然后把命令返回的字符串分离出来 .” 感觉这个也太... ( 没有形容词 );如果确定方案如此,我需要知道:如何在QT 中发起一个进程同时如何等待它运行结束,如何接收这个进程结束后产生的控制台输出。 ...

在CLion 中配置Qt 的高效开发环境

JetBrains 基于 IntelliJ 的多款(多种语言)的开发工具 —— 集成开发环境目前已经是横扫千军;  IntelliJ IDEA 、WebStorm 、PyCharm、Goland 以及在名鼎鼎的"Android Studio" 都是旗下的产品,操作界面与易用性都是一脉相承;CLion 也是其全家桶的成员之一,暂时还是一款小众的C /C++ 集成开发环境,名气没有VS 大,但是在很多IDEA 粉中它是相当好用的 ...