![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt5.9
smalbig
这个作者很懒,什么都没留下…
展开
-
C++ Qt 构建树形结构 树形结构生成XML
树形数据结构是一类重要的非线性数据结构。树形数据结构可以表示数据表素之间一对多的关系。其中以树与二叉树最为常用,直观看来,树是以分支关系定义的层次结构。树形数据结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形数据结构来形象表示。树形结构具有无限拓展的特性,因此非常适合组织节点深度不定的数据,其基本实现方式是一个对象通过保存父对象和子对象的指针,来实现 A-B-C。实现步骤:1.定义基类class BaseNode{private: //父节点的指针..原创 2021-10-15 17:13:37 · 2093 阅读 · 0 评论 -
Qt 手撸setWidget(QWidget* widget)
Qt中自带setWidget(QWidget* widget)方法的控件有 悬浮窗口、滚动窗口等,这些控件有时附加功能太多有时反而不够方便,比如滚动窗口的 setWidget(QWidget* widget) 会导致之前set的widget被删除:void QScrollArea::setWidget(QWidget *widget)Sets the scroll area's widget.The widget becomes a child of the scroll ar...原创 2021-10-13 13:38:57 · 3718 阅读 · 1 评论 -
Qt NMAKE : fatal error U1073: don‘t know how to make ‘xxxx‘的一种原因
原因:*.pro文件里有不存在的路径或文件,导致nmake找不到文件所以报错解决:删掉*.pro文件里不存在的路径或文件,或者制定正确的路径或文件。原创 2021-10-12 09:21:27 · 6049 阅读 · 0 评论 -
MSVC2015编译器 + QtCreater 环境搭建常见问题解决
1. cl.exe 和 rc.exe 无法运行cl.exe是微软vs的编译程序,用来生成obj文件,cl.exe无法运行的话,自然不能编译程序。解决方法是添加相应的环境变量。添加方法有两种:一是直接在path里添加C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin;二是新建一个环境变量比如QTVS2015CLKIT,赋值为C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\原创 2021-07-07 13:57:35 · 470 阅读 · 1 评论 -
C++调用Qt库
环境:VS2017,Qt5.12.10(安装了msvc2017组件,并添加环境变量)准备环境1.使用vs2017新建一个C++ DLL项目 DLLNativeApp__(或其他项目,例如控制台项目)。2.找到Qt的头文件,我的路径是 C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\include。3.找到Qt的静态库文件,我的路径是 C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\lib4.右键点击项目DLLNativeApp__,选择 属性 →原创 2021-06-02 17:05:38 · 6364 阅读 · 2 评论 -
解决warning C4819
QtCreater,Visual Studio 报warning C4819,据说影响debug调试。双击警告定位到文件,用NotePad++转为UTF-8 BOM,保存,再编译警告消失。原创 2021-05-06 14:56:54 · 152 阅读 · 0 评论 -
封装QString监测QString长度改变并获取值
自己写个类封装一下QString即可myqstring.h#ifndef MYQSTRING_H#define MYQSTRING_H#include <QObject>#include <QString>class MyQString: public QObject/*,public QString*/{ Q_OBJECTprivate: QString baseStr;public: MyQString(); void M原创 2021-03-25 17:39:42 · 189 阅读 · 0 评论 -
QString 转 const char*(记录)
//!make a Qstring QString imageSavePath;QString ImageName = "aImg";imageSavePath += QDir::currentPath();imageSavePath += "/images/";imageSavePath += ImageName;//!make a Qstring //!convert to const char*QByteArray aByteArray = imageSavePath.toLocal原创 2021-01-26 17:19:42 · 334 阅读 · 0 评论 -
QTableview + MySQL 分页查询实现记录
一、如何把查询结果分页返回1.把查询结果放到一个零时表中先建立一个新表temcity,把city的字段完全复制到temcity。清空temcity表。使用以下语句先进行 “查询->赋值” 操作:INSERT INTO temcity SELECT * FROM city WHERE pllh = 'condition'把表city中pllh = ‘condition’的所有条目...原创 2020-04-17 15:00:58 · 1264 阅读 · 0 评论 -
Qt + MySQL 多条件、多态、模糊查询三结合的方法
1.当多条件查询时,有一个或两个条件不作为限定条件,则把该条件,condition1,赋值为其在数据库中对应的字段,即condition1。所以先做以下预处理。 if(pllh.length()>0){ pllh = pllh; }else{ pllh = "pllh"; } if(dh.length()>0){ ...原创 2020-04-17 14:37:50 · 1549 阅读 · 0 评论 -
Qt + MySQL 部署到新装 Windows Server 2012 问题全记录,解决
一、Qt + MySQL程序部署到非开发机器(其他机器,包括服务器系统),一般会遇到“driver not loaded”的问题。只要程序在开发机器(本机)可以正常运行不报错,就可以用以下解决方法(这里感谢前辈的贡献):1.在QApplication a(argc, argv);前增加两行代码:QString strLibPath(QDir::toNativeSeparators(QAppl...原创 2020-04-17 14:13:53 · 1017 阅读 · 0 评论 -
多终端多线程数据入库架构和代码(Qt5.9.5 MySQL)
架构和实现:每当有一个新的入库请求时,服务器新建一个线程,线程内new一个QTcpSocket用来接收终端的数据,线程内新建一个数据库连接。在服务器内实现互不干扰,独立入库的功能。线程安全,工业信息采集实际项目代码,单终端每秒500条类似“22 33 44 55”格式的数据,多终端则倍增,最大速度受制于处理器。关键代码:响应新连接类:class FortuneServer : public...原创 2020-04-04 15:49:37 · 237 阅读 · 1 评论 -
Qt-MySQL多线程写数据库的一种简单方法---多线程写队列入库
记录一种安全的多线程写数据库的方法。1.写队列线程。开启任意个线程往队列(QQueue< QByteArray > queue)里写数据,这是线程安全的。while(reading){ mutex.lock(); if(tcpSocket->waitForReadyRead()){ QByteArray inmsg ...原创 2020-04-02 18:38:01 · 1405 阅读 · 0 评论 -
揭秘Qt5.9.5 windeployqt 工具一大神坑——生成无效的dll文件
笔者最近在Qt客户端做 tcp + 数据入库(MySQL)的小实验, 就是把tcp接到的数据入库,debug和release下都能正常接收数据和入库。然而,使用windeployqt工具部署发布.exe后,却只能接收数据而不能入库。ABSURD!!既然在Qt客户端debug和release都能正常运行,那么问题必须出在 dll 文件上。1.首先观察是否缺dll文件,经过观察缺了MySQL的...原创 2020-04-01 15:13:52 · 1509 阅读 · 3 评论 -
QT:qDebug()乱码,界面显示乱码,常量有换行符 问题总结
一、对于自己建立QWidget的程序,如题问题基本可以用以下方法解决:1.做如图修改,默认编码和UTF-8 BOM;2.改代码中任意的中文字符,保存,编译;3.以如下方式建立字符串:QString ddd = QString::fromLocal8Bit(“顶顶顶”);二、对于Qt示例程序,如下方式定义字符串。setWindowTitle(tr(“查询分发服务”));statusL...原创 2020-03-30 16:33:56 · 1192 阅读 · 0 评论 -
VS2015 + Qt插件 不能获取Qt控件属性 问题解决
刚刚使用 VS2015 + Qt插件 时,添加完一个控件(比如combox)后想在mainwindow.cpp 通过 ui. 来获取到combox,但是是获取不到的,然而编译又没有问题,这就很不方便。1.笨办法打开Qt,添加一个combox,看看它都有那些方法和属性,把相应的获取/设置属性的代码拷贝到VS2015中,编译通过,运行正常。2.刚刚发现的方法设现在的工程为A,在VS2015中...原创 2020-03-21 15:43:32 · 846 阅读 · 0 评论 -
Qt-" :-1: error: [ui_mainwindow.h] Error -1073741515"的一个解决方案
针对如题问题找到一个解决办法:把编译器MinGW改为MSVC2015即可,如图已解决。原创 2020-03-21 15:34:57 · 4093 阅读 · 1 评论 -
opencv4.2.0 将Mat 对象通过窗口句柄 显示到Qt label
将opencv的Mat对象显示到Qt label有两种方法:1.通过把opencv的 Mat对象转为Qt 的 pixelmap,这种方法费时,不推荐。网上有很多实现方法。2.通过转换窗口的 父 句柄,把 cv::namedWindow(title,cv::WINDOW_GUI_NORMAL);的父句柄改为Qt控件label的句柄。见代码及注释#include <Windows.h...原创 2020-03-21 14:11:47 · 1900 阅读 · 7 评论 -
Qt信号与槽之:4种关联方式
信号与槽的链接函数除了第发射信号对象地址,信号,接收信号对象地址,槽函数这四个参数外,还有一个参数Qt::ConnectionType type,缺省值是Qt::AutoConnection。 这个参数是枚举类型,表示了信号与槽之间的关联方式,有以下4种取值:可以看到在使用多线程和单线程时要注意选择合适的连接方式。...原创 2020-03-20 11:26:43 · 1254 阅读 · 0 评论 -
vs2015 + Qt插件 新建一个对话框类,并从主窗口打开对话框
由于vs2015 + Qt插件不能直接建立一个包括 .ui,.cpp ,.h 的对话框模板,只能单独建立一个对话框类型的ui,所以需要手动添加 .cpp 和 .h。1.添加一个Qt对话框的ui,起名叫Test.ui2.添加Test.h和Test.cppTest.h#pragma once#include <Qdialog>#include "ui_Test.h"name...原创 2020-03-19 17:59:02 · 2840 阅读 · 0 评论 -
vs2015 +qt插件 设置窗口和exe图标
1.设置窗口图标1)以 .ico为后缀名的图标文件,可以在网上搜图标在线生成工具进行生成。2)在项目路径D:\视觉\QtGuiApplication3\QtGuiApplication3\Resources文件下保存 图标.ico。其实放到哪里都可以,但是如果换电脑了乱放的话就找不到了。3)打开 ui文件 QtGuiApplication3.ui,点击主窗口,右侧属性编辑器对 windo...原创 2020-03-19 11:53:09 · 1075 阅读 · 4 评论 -
vs2015 + Qt插件——将程序运行数据显示到界面的方法
1.建立一个定义信号的类右键项目->添加->add Qt Class。这里要注意最好添加Qt Class,否则出现与Qt不兼容的问题,报moc错误。在类头文件中添加以下内容#include <QObject>class runtimestate : public QObject{ Q_OBJECTpublic: runtimestate(); ~r...原创 2020-03-18 18:05:49 · 1165 阅读 · 0 评论 -
vs2015 + qt插件问题记录
在为VS2015安装Qt插件后,对出现的问题进行了记录。1.编译过程中提示文件无效或损坏:将项目属性中->vc++目录->库路径改为静态库的路径;将链接器->输入->改为静态库。2.debug和release的包含路径公用。库路径方面,有的debug使用的静态库与release使用的静态库路径或者名字不同,需要分别配置。3.release导出.exe时要把所有用到...原创 2020-03-14 16:11:24 · 277 阅读 · 0 评论 -
opencv建立椭圆边缘检测路径(二)——建立一条椭圆路径
1.利用椭圆参数方程获得椭圆上等分的点上节说到获取直线上各点坐标,这节建立一个按角度等分的椭圆如图所示:这个椭圆按角度45°分为了8份,每份对应一个直线检测路径。为了获得这些直线检测路径,获得直线的首尾坐标即可(上节说了如何通过直线的首尾坐标获得直线上的各点坐标)。要获得直线首尾坐标,假设这个椭圆上有P1,P2…P8这八个点(即图中可见线段与线段交点),首尾坐标就是:P1和P2,P2和P...原创 2020-03-03 10:41:50 · 480 阅读 · 0 评论 -
在VS2015中添加Qt5.9.5插件+opencv4.20
安装VS2015和Qt5.9.5首先要保证opencv,Qt环境变量按照网上已有通用方法配置好!1.在VS2015中添加Qt5.9.5插件a.下载如下插件 qt-vsaddin-msvc2015-2.4.3.vsix地址:http://download.qt.io/archive/vsaddin/2.4.3/选择qt-vsaddin-msvc2015-2.4.3.vsix即可,点击后开始...原创 2020-02-24 11:43:43 · 856 阅读 · 2 评论