- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 OpenCV错误:“/lib/libopencv_imgcodecs.so.4.5.5: 对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用”
/lib/libopencv_imgcodecs.so.4.5.5: 对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用
2023-08-24 14:58:08
462
1
原创 CMake错误:“Cannot specify sources for target “xxx“ which is not built by this project.”
Cannot specify sources for target "xxx" which is not built by this project.
2023-08-24 14:45:52
848
原创 Application
QApplication专门为QGuiApplication提供了一些基于QWidget的应用程序所需的功能,它能处理widget的初始化和终止化处理。对于任何使用Qt的Gui应用程序,无论应用程序在任何给定的时间是否具有0,1,2或者更多窗口,都只有一个QApplication对象。对于非基于QWidget的Qt应用程序,请改用QGuiApplication,因为它不依赖于QtWidgets库。一些GUI应用程序提供了一种特殊的批处理模式,即在没有手动干预的情况下为执行任务提供命令行参数。
2023-08-08 21:52:42
171
原创 QGuiApplication
QGuiApplication类管理GUI应用程序的控制流和主要设置。QGuiApplication包含主事件循环,处理和调度来自窗口系统和其他源的所有事件。它还处理应用程序的初始化和最终化,并提供会话管理。同时,还处理大多数系统范围内和应用程序范围内的设置。
2023-08-04 15:22:03
303
原创 QCoreApplication
QApplication是QGuiApplication的子类,QGuiApplication是QCoreApplication的子类。
2023-08-04 14:21:17
340
原创 Qt中串口通信
Qt中提供QSerialPort类实现串口通信。示例代码://serialportdemo.h#include <QMainWindow>#include <QDebug>#include <QtSerialPort/QSerialPort>#include <QtSerialPort/QSerialPortInfo>QT_BEGIN_NAMESPACEnamespace Ui { class SerialPortDemo; }QT_
2022-02-08 17:30:52
2185
1
原创 经典排序(7+3)
定义:排序是将一组具有相同数据类型的数据元素调整为按关键字从小到大(从大到小)排列的过程。概念:关键字是数据元素或记录中某个数据项的值,它可以标记一个数据元素。若关键字可以唯一标识一个数据元素,则称此关键字为主关键字;若其可以标识若干数据元素,则称为次关键字。稳定排序和不稳定分排序:在排序过程中,若按次关键字排序,且具有相同关键字的数据元素之间的相对次序或位置不变,则称这种排序方法为稳定排...
2022-02-08 17:11:00
605
原创 Qt中操作Excel表格读写
示例代码(将数据从数据库导入到Excel,将数据从Excel导入到数据库):void slotExportBtn(){ QAxObject *excel = new QAxObject("Excel.Application"); if(excel->isNull()){ if(excel != NULL){ excel->dynamicCall("Quit()"); delete excel;
2022-02-08 17:04:58
3118
原创 Qt中使用QChats显示曲线
本文演示使用QChats显示一个折线图。以及使用多线程不断更新曲线数据。关键代码:QChart *mChart;QChartView *chartView;QDateTimeAxis *axisX;QValueAxis *axisY;QDateTime minX;QDateTime maxX;int minY;int maxY;chartView = new QChartView;mChart = new QChart;axisX = new QDateTimeAxis;a
2022-02-08 16:47:05
1286
原创 Qt使用QSqlTableModel图形化显示数据库
Qt提供了QSqlTableModel来将数据库以表格的形式显示在界面上。示例代码://初始化QSqlTableModel *model;QTableView *view;ColorDelegate colorDelegate;model = new QSqlTableModel(this);model->setTable("tableName");view = new QTableView;view->setModel(model);view-&g...
2022-02-08 16:19:44
2435
原创 Qt中Udp通信
Qt中提供了QUdpSocket支持Udp通信。在Udp通信中,一个Udp对象绑定端口后即可收发数据。数据可以广播也可以单播放。比较简单。帮助文档代码示例:void Server::initSocket() { udpSocket = new QUdpSocket(this); udpSocket->bind(QHostAddress::LocalHost, 7755); connect(udpSocket, &am...
2022-02-08 15:31:34
3728
原创 Qt中Tcp通信
Tcp通信一般分为客户端和服务器端。对于客户端,Qt提供QTcpSocket类进行处理,客户端主要功能有连接服务器,发送数据,接收数据等。示例代码://创建套接字QTcpSocket *tcpSocket;tcpSocket = new QTcpSocket;//连接信号和处理槽connect(tcpSocket, &QTcpSocket::connected, [](){ qDebug() << "Connected successfully !"; });co
2022-02-08 14:49:39
6657
原创 Qt多线程之QThread
在项目中,一个QThread对象管理了一个线程。一般来说,线程的执行从run()函数开始。在Qt中,有两种方式,第一个种是继承QThread重写run()函数,第二种是继承QObject函数添加耗时操作,然后在调用QObject::moveToThread()函数。Qt中现在比较推荐使用moveToThread()。当线程开始或结束的时候,QThread会通过started()和finished()信号来通知,或者你也可以使用isRunning()和isFinished(...
2022-02-08 11:29:35
3359
原创 Qt使用QDom解析XML文件
QDom处理XML文件时,一次性读入整个XML文档,在内存中构造一棵树。我们可以访问这棵树,在树上移动,比如移动到下一个节点,或者返回到上一个节点,也可以修改这棵树,以及将这棵树保存为XML文件。在DOM树中有很多函数,这些函数很多都是返回QDomNode类型,我们可以通过函数isXXX(),如isAttr()等来判断节点类型,也可以通过toXXX()来转换节点类型。帮助文档的示例:QDomDocument d;d.setContent(someXML);Q...
2022-02-07 18:01:15
1716
转载 windows编程常用数据类型
Windows数据类型命名规律 基本数据类型包括:BYTE、CHAR、WORD、SHORT、INT等。指针类型的命令方式一般是在其指向的数据类型前加“LP”或“P”,比如指向DWORD的指针类型为“LPDWORD”和“PDWORD” 各种句柄类型的命名方式一般都是在对象名前加“H”,比如位图(BITMAP)对应的句柄类型为“HBITMAP”。 无符号类型一般是以“U”开头,比如“INT”是符号类型,“UINT”是无符号类型。 根据这些命名规律以及...
2021-10-03 15:29:24
1082
原创 QtCreator中添加日志处理
在Qt帮助文档中搜索qInstallMessageHandler,有关于Qt日志生成相关介绍,本文主要功能将Qt程序中的日志生成到指定文件目录下,以txt形式存储。#include <qapplication.h>#include <stdio.h>#include <QFile>#include <stdlib.h>#define LOG_FILE qApp->applicationDirPath() + "/log.t...
2021-09-22 15:14:09
427
原创 Linux系统下MySQL安装和配置
本文MySQL安装配置系统为阿里云服务器上的Ubuntu 20.04系统,首先,使用命令安装MySQL:输入sudo apt-get install mysql-server回车; 输入sudo apt-get install mysql-client回车; 输入sudo apt-get install libmysqlclient-dev回车;以上三条命令即可安装好MySQL,很简单,以上操作可能会要求输入MySQL密码。如果没有,按照以下步骤来修改密码:输入sudo c...
2021-09-22 14:41:41
178
原创 Windows环境下QtCreater中编译并使用MySQL驱动
首先,在安装Qt的时候需要勾选Source选项,然后才可以编译出MySQL驱动。打开QT目录Qt\5.12.9\Src\qtbase\src\plugins\sqldrivers\mysql,用QtCreater打开mysql.pro,构建套件选择你需要的驱动位数32,或64位,和你电脑上Mysql的位数相同。打开mysql.pro文件,注释掉QMAKE_USE += mysql,然后添加对应的库文件配置,如下:打开qsq...
2021-09-22 14:39:08
316
原创 QtCreater中添加Debug支持
QtCreater中使用Debug编译项目时,想使用debugging项目时,需要windows支持,找到设置->应用->应用和功能->Windows Software Development Kit - Windows 10.0.17763.132->勾选Debugging Tools for Windows,安装之后即可。...
2021-09-22 11:29:01
442
原创 Qt5中model/view模型视图结构
模型(model):#include <QApplication>#include <QAbstractItemModel>#include <QAbstractItemView>#include <QItemSelectionModel>#include <QDirModel>#include <QTreeView>#include <QListView>#include <QTableVie
2021-07-18 23:52:13
292
原创 Qt5基本对话框
//example:StandardButton QMessageBox::information{ QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok,//QMessageBox::Ok,QMessageBox::Close等 StandardButton defaultButton=NoButton}//type:QM.
2021-07-18 21:13:09
495
原创 Qt如何打包项目(Qt Widgets Application项目)
设置Release模式编译运行,生成projectName.exe文件,复制到一个新文件夹中; 打开命令行,并进入到新文件夹目录下,然后运行命令windeployqt projectName.exe; 如果有自定义链接库文件,将.dll链接库文件复制到新文件夹,然后点击projectName.exe即可运行。----未完待续...
2021-07-18 00:10:38
178
原创 UE4中文本文件配置文件Json文件XML文件的读写
虚幻引擎中提供了与平台无关的文件读写与访问接口,通过调用,可以完成一些文件的读写。比如文本文件,配置文件,json文件,xml文件等。完成文件读写,首先需要获取文件路径等相关信息。对调用这些操作,我们需要包含头文件PlatformFilemanager.h和FileHelper.h。对于json文件读写,我们需要在.build.cs文件中添加Json和JsonUtilities两个模块;对于xml文件读取,我们需要在.build.cs文件中添加XmlParser模块。引用相关模块后,在具体实现需要引入对
2021-07-18 00:09:56
1907
2
原创 UE4中使用Sqlite数据库操作步骤
首先下载sqlite需要的文件,去Sqlite官方下载源码https://www.sqlite.org/download.html,总共下载两个文件,一个是Source Code下面的sqlite-amalgamation-3300100,以及Precompiled Binaries for Windows下面的sqlite-dll-win64-x64-3300100。解压sqlite...
2021-07-18 00:08:00
5482
4
原创 C++中static的用法
当我们在设置类的时候,有时会设置一些成员,我们希望这些成员直接与类相关联,而与类对象无关。例如,一个银行账户的成员基准利率,这个基准利率与类关联,而不是和每个账户对象关联。并且,基准利率信息我们只需要总体存一个数据而不是每个对象都需要存一个基准利率信息。我们通过在成员前添加关键字static声明静态成员,类的静态成员存在于任何对象之外,对象中也不含有任何与静态数据成员有关的数据,静态成员存储在全局静态区。静态成员函数也不与任何对象绑定,故不含this指针。作为结果,静态成员函数不能声明为const。
2021-07-18 00:06:00
64
原创 Qt中如何设置多语言系统
在.pro文件中添加以下代码并编译(分别是英文,中文,拉丁文)TRANSLATIONS = lang_en.ts \lang_zh.ts \lang_la.ts点击Qt 5.13.1(MinGW 7.3.0 32-bit)[版本对应就行],运行命令lupdate projectName.pro命令,生.ts文件点击Linguist 5.13.1(MinGW 7.3.0 32-bit),进行文件转换 ,分别打开.ts文件,然后对每个字符进行翻译,生成.qm文件。翻译好文件,点击第一个图标进.
2021-07-18 00:05:37
391
原创 Qt中使用OpenCV(包含Contrib)环境搭建
安装CMakeCMake是用于编译的基本工具,可以去官网https://cmake.org/download/上下载cmake-3.21.0-rc3-windows-x86_64.msi文件,双击启动安装。安装过程中勾选将cmake添加到系统path环境变量中。检查系统环境变量检查window系统path环境变量,确保cmake的bin目录,Qt的版本bin目录和lib目录,以及Qt中tools下的bin目录被添加到path环境变量中。环境变量配置下载...
2021-07-18 00:03:10
979
原创 Qt如何解析Json文件
Qt中内置了一个QJsonDocument类用来处理json文件。并提供一些类来处理json。类 功能 QJsonArray 封装 JSON数组 QJsonDocument 读写 JSON 文档 QJsonObject 封装 JSON 对象 QJsonObject::iterator 用于遍历QJsonObject的 STL 风格的非 const 遍历器 QJsonParseError 报告 JSON 处理过程中出现的错误 QJ...
2021-07-16 21:50:22
6914
原创 MFC中操作Word文档
首先我们需要导入word类库(电脑上需要安装了word),左击项目,点击类向导,添加类(C)选择类型库中的MFC类。然后选择文件,位置选择从office安装目录中找到MSWORD.OLB文件,然后点击>>添加所有类。添加完成后,点击完成。可以发现word库已经被添加进来了,如下图:然后导入如下头文件,并且注释掉以下头文件(.h文件)的里面import导入的内容:#incl...
2021-07-15 11:50:42
2523
3
原创 SQLite简单使用及其常用函数介绍
SQLite介绍SQLite是一个软件库,实现了自给自足的,无服务器的,零配置的,事务性的SQL数据库引擎。且SQLite源代码不受版权限制。本文主要介绍SQLite在C/C++中的使用,以及最后给出在mfc中使用示例,但是在mfc中具体使用需要自己将源码导入到项目中才能调用。Windows安装:搜索SQLite官网或访问https://www.sqlite.org/download.html页面,从在windows区下载预编译二进制文件,如sqlite-tools-...
2021-07-14 20:38:47
978
原创 Qt中QSettings的使用以及ini配置文件读写
在应用程序开发过程中,用户对程序有一些需求,要求记住一些参数,比如窗口大小,比如配置的ip地址等。这些设置一般都是存在系统里面的,比如windows一般都写在系统注册表或者写INI文件中,那么按照一般的标准来说,许多应用程序是用INI文件来实现的。而Qsettings就是提供了一种方便的方法来存储和恢复应用程序的settings。两个问题:如何将setting写入到注册表中? 如何将setting写入到本地ini文件中?问题1:在Qt中,设置ini文件并写入到...
2021-07-14 17:27:11
1301
原创 C++中extern的用法
两个问题:如何使用extern定义一个的全局变量? 如何使用extern调用其他类或对象的方法?extern介绍:extern置于变量或函数前表示声明,提示编译器该变量定义在其他文件或类中。需要注意在声明变量时不要赋值,否则编译器会认为这不仅是声明,还是在定义的行为,会出现重复定义变量的错误。问题1:新建一个空.h和.cpp文件。在.cpp文件中定义需要的全局变量,然后在.h文件中使用extern声明变量。在需要使用全局变量的类中include这个头文件即可。问题2:在被
2021-07-14 11:55:40
2240
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人