Qt
记录一些Qt开发过程中遇到的问题和部分插件的使用
MelonSuika
这个作者很懒,什么都没留下…
展开
-
MinGW64编译OpenSSL
引言 用Qt写爬虫的时候,缺少openssl的动态库,试了几个已有的版本都不对,于是从官网下载了对应版本的源码自己编译。准备环境 我的Qt原工程环境是,MinGW7.3.0-x64(gcc version 7.3.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project))Qt5.13.0链接 我这边Qt内的链接库是支持opens...原创 2020-01-10 12:50:02 · 4629 阅读 · 4 评论 -
glog编译使用(Windows环境VS2017)
glog介绍 Google glog is a library that implements application-level logging. glog是一个轻量级的应用程序日志记录库。下载部署编译链接: glog的github从github上下载下来解压后,看README.windowsIn short, (1) Install CMake from: https:/...原创 2019-12-13 13:50:58 · 2153 阅读 · 0 评论 -
Qt for python环境安装
前言 最近有需求做个桌面程序。本想用Qt C++写,后来发现时间比较充裕,就打算改用Qt for python来写。过程 因为我电脑上已经装了Qt,所以我打开新建工程栏一看,发现有python工程的选项。所以我新建一个Qt for Python - Window工程,看看能不能跑起来。运行后,结果打印了上图信息。字面意思就是,根据命令行参数调用了python重定向器,然后打印了错误信息并退出了。 然后我根据上图打码部分找到了原创 2020-12-11 11:31:28 · 2416 阅读 · 0 评论 -
QtXlsx基本使用
前言 最近有个需求是可以将程序中的数据生成excel报表,于是搜了搜,找到一个蛮方便的Qt插件QtXlsx。简介 QtXlsx是一个可以读写Excel文件的库。如何获取&安装 基本使用在Github链接下方都有,这边简单描述下使用方式。Github链接从上方Github链接上下载源码包下载后解压,用dos控制台进入源码顶层目录,键入以下命令(如果没有在环境变量中添加qmake和make的路径的话,需要补全路径,比如: qmake所在目录/qmake)qmakemake原创 2020-08-27 14:17:18 · 1466 阅读 · 0 评论 -
QCustomPlot柱状图
效果代码mainwindow.cpp#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); ...原创 2020-01-20 12:29:57 · 830 阅读 · 0 评论 -
一篇看懂QVector
简介 QVector是Qt的一个通用容器类。 它将其项存储在相邻的内存位置,并提供快速地、基于索引的访问(QVector可以看做是一个封装了一个数组的模板类[],它内部维护一个数组,并且提供给外部一些访问的方法)。QList/QLinkedList/QVector/QVarLengthArray选择讨论 QList/QLinkedList/QVector/QVarLengthArray提供...原创 2020-01-14 11:43:09 · 13037 阅读 · 1 评论 -
解决qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
引言 想用Qt写爬虫玩玩,但是在向网页请求的过程中,报错下面错误。qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed解决过程认知错误 一开始看到connectToHostEncrypted,觉得大概是连接加密的意思,以为是网站的问题(感觉是网站的一些放爬虫的防护措施)。于是换了几个...原创 2020-01-09 14:15:28 · 10861 阅读 · 12 评论 -
Qt配置文件ini操作
介绍 人们在使用程序的时候,会有一些常用惯用的操作,每次打开程序都要将这些操作做一遍浪费时间。配置文件能记录一些常用的设置信息,这样不用每次打开程序,都去重新配置它们。 ini,Initialization File,是windows的系统配置文件所采用的存储格式。Qt中简单使用ini代码mainwindows.h#ifndef MAINWINDOW_H#define MAINWIN...原创 2020-01-07 12:27:18 · 1127 阅读 · 0 评论 -
Qt数据库翻页Demo
引言 当数据库记录数很多的时候,如果将它全部显示到一个视图(view)中,长长的滚轮,拖动看起来会很累。这个时候给数据表加一个翻页的功能,每页限制显示一定数量的记录,这样会显得更合理一点。 于是我这边就写了个小Demo,用来实现一个简易的翻页功能。效果思路 主要用了SQL中的LIMIT项。LIMIT简单用法 LIMIT子句用于对整个SELECT语句返回的行数设置限制。 看下两个小...原创 2020-01-03 13:06:25 · 907 阅读 · 1 评论 -
Qt使用.pri模块化工程
引言 当你打算用Qt新开发一个GUI程序时,打开IDE创建工程,通常会看到下面的工程结构。这里面的文件有各自的分层,.h存在于Headers,.cpp存在于Sources,.ui存在于Forms,.pro则管理着它们,结构清晰明了。 此时你若要往工程中添加新的文件,也非常简单,右键工程,就会出现添加的选择项,你只需要按照提示一步步往下走,就可以将所需文件加入工程。 但当你的项目文件变...原创 2019-12-31 10:28:43 · 5738 阅读 · 2 评论 -
Qt .pro文件介绍
.pro文件包含了qmake构建应用程序、库或插件所需的所有信息。你可以使用一系列的声明去指定工程中的各种资源。原创 2019-12-30 15:46:45 · 353 阅读 · 0 评论 -
Qt数据库连接
Qt数据库连接 Qt是通过数据库连接来进行数据库访问的。 QSqlDatabase类提供了连接访问数据库的接口。QSqlDatabase简介 一个QSqlDatabase的实例表示一个数据库的连接。每个连接通过Qt所支持的数据库驱动提供对数据库的访问(数据库驱动程序派生自QSqlDriver)。你也可以编写自己的数据库驱动。 通过调用静态addDatabase()函数中的一个来指定要使用...原创 2019-12-27 09:59:54 · 1010 阅读 · 0 评论 -
Qt多线程IoDevice使用分析
引言 这两天在群里看到一个老哥用QThread创建了一个子线程读取串口数据的代码。void myThread::run(){ ... QThread::msleep(100); m_port->waitForReadyRead(10); ret= m_port->read(buf,len); ...} 我也写过读写串口的代码,但是没有用waitForReadyRe...原创 2019-12-25 15:47:46 · 2365 阅读 · 3 评论 -
QCustomPlot曲线图显示值
效果代码 QCustomPlot需自己导入到工程中,链接上篇文有。mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ ...原创 2019-12-23 14:52:26 · 2693 阅读 · 0 评论 -
QCustomPlot学习
最近接到新需求,是关于数据可视化的,其实就是把数据库的数据给用图表等形式表示出来。这种功能其实我之前就有实现,用的是Qt自带的QChart等模块。不过我现在已经完全记不起该怎么写这些功能了。所以想系统地学习一下Qt数据可视化这一模块。 因为我觉得Qt自带的那一套东西不是很好用(比较繁琐,画一个曲线图需要设置坐标、曲线、视图等一大堆东西),而且光标跟踪、值显示这些功能都不是自带的,每次画一幅图都...原创 2019-12-19 16:06:00 · 353 阅读 · 0 评论 -
Qt中集成glog(MinGW)
引言 上篇文中说到windows下使用glog,不过我的实际需求是windows下在Qt中集成glog,实践下来发现区别还是很大的。这边记录下过程,防止更多人踩坑。过程我的开发环境,Qt工具链 Qt版本 5.13.0 MinGW版本7.3.0(x64-posix-seh-rev0) 内含GCC/G++ 64bit/7.3.0MinGW环境 首先需要安装MinGW环境(其实Qt中内...原创 2019-12-18 17:18:36 · 3203 阅读 · 3 评论 -
SQLite DateTime存储的一些反思
引言 文名用的反思,说明之前在使用的时候踩了一些坑,然后回过头来才想起总结一下,以防下次犯同样的错误。 之前写过一个功能,将数据存储到数据库中,并且要标记每条记录(document)存储的时间,于是随手加了一个DateTime字段(field),用来标记存储时间。因为使用的是Qt,所以写的时候也是很简单,就按下面这样写了。 sqlQuery.exec(QString("INSERT INTO...原创 2019-12-11 09:43:23 · 749 阅读 · 0 评论 -
Qt简易分页导航的使用
最近有需求,于是借用了网上的分页栏功能代码结合了自己的逻辑,先看效果原作者的分页功能页面在下面,内含工程目录链接,原作者分页功能原创 2019-12-06 15:38:37 · 1043 阅读 · 0 评论 -
Qt解决error: use of deleted function和is private within this context
文件mainwindow.h#include <QMainWindow>#include <QLCDNumber>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidg...原创 2019-12-05 17:21:42 · 13585 阅读 · 4 评论 -
Qt单线程中一个信号绑定多个槽,槽调用时序探索
信号(signal)与槽(slot)是Qt特有的机制,它可以让控件间的通信变的很方便。你也可以很轻易地使用一个signal绑定多个slot,本文谈一下一个signal绑定多个slot时,slot的执行顺序。connect函数 signal和slot通过connect连接,继承于QObject的类可以使用这种机制。[static] QMetaObject::Connection QOb...原创 2019-11-20 17:07:47 · 5265 阅读 · 4 评论 -
Qt数据库和SQLite介绍
SQL数据库驱动 Qt SQL模块使用驱动插件(driver plugins)与数据库API进行通信。 由于Qt的SQL模块API是与数据库无关的,所以所有特定的数据库代码都包含在驱动程序中。Qt提供了一些驱动,你也可以自己添加驱动。 下表是Qt包含的驱动:Driver nameDBMSQDB2IBM DB2(v7.1 and above)QIBASEBor...原创 2019-11-18 16:48:56 · 1213 阅读 · 8 评论 -
QML-基本类型
QML支持许多基本类型。基本类型就是引用单一值的类型,例如int、string。这与QML对象类型相对----引用了属性、信号、函数等的复合对象(参考class和int的区别)。与对象类型不同,基本类型不能用于声明QML对象,例如不能声明int{}或者size{}对象。基本类型可被用于:单个值(如,int一个简单的数字,var一个简单的列表)一对简单属性值的值(如,size具有的w...翻译 2019-09-26 14:30:27 · 1039 阅读 · 0 评论