QT
机器视觉001
熟悉Visual C++、HALCON、机器视觉;10 年开发经验!
展开
-
Qt使用导出类报错:error C2491: “LmcThreadPaddle::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义
Qt使用导出类报错:error C2491: “LmcThreadPaddle::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义在使用继承自QObject带有Q_OBJECT宏的导出类时,编译报错:不允许 dllimport 静态数据成员 的定义。原因是自动生成的moc文件带有静态函数,无法导出。1、在Qt中的解决办法是不将导出宏定义成Q_DECL_IMPORT。#if defined(ZMAP_LIBRARY_PRODUCTOR)# define .原创 2021-11-16 14:49:07 · 3395 阅读 · 1 评论 -
Qt Creator 自动补齐变慢的解决
Qt Creator 自动补齐变慢的解决在“帮助->关于插件”选项卡中,取消“DeviceSupport”,如下图:原创 2021-08-05 16:33:45 · 532 阅读 · 0 评论 -
QVector的内存释放
QVector的内存释放QVector的内存释放分两种情况:如果T为非指针类型,那么直接使用QVector的clear方法就可以释放内存; 如果T为指针类型,直接使用clear方法将不能释放内存。这个时候可以使用void qDeleteAll ( const Container & c )函数来释放所占用的内存。...原创 2021-04-17 12:50:41 · 2435 阅读 · 0 评论 -
Qt:相对路径说明
Qt:相对路径说明相对路径刚接触文件操作时,应该都写过这种小程序:#include <stdio.h>int main(){ FILE * pFile = fopen ("data.txt" , "r"); if (pFile == NULL) { perror ("Error opening file"); } else { //do something fclose (pFile); } return 0;转载 2020-11-01 21:21:09 · 6936 阅读 · 1 评论 -
IEEE754 浮点数和Hex转换
static quint32 toUint(const QByteArray &data, bool bigEndian){ if (data.size() != 4) return 0; quint32 word = 0; if (bigEndian) { word = quint32((quint8(data.at(0)) << 24) | (quint8(data.at(1)) << 16) | (quint8(da.原创 2020-09-04 07:58:50 · 745 阅读 · 0 评论 -
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread错误原因:QObject是可重入的,它的大多数非GUI子类,例如QTimer,QTcpSocket,QUdpSocketandQProcess都是可重入的,使得这些类可以同时用于多线程。需要注意的是,这些类设计为从一个单一的线程创建和使用的,在一个线程创建对象,而从另外一个线程调用对象的函数并不能保证行得通。本例中成员变量QTimer是在主线程创建对象时创建的,但...原创 2020-08-30 21:11:24 · 9759 阅读 · 0 评论 -
Qt同时加载多个项目
Qt同时加载多个项目如何将多个项目使用一个.pro文件启动起来?新建一个.pro文件,加入如下几行:TEMPLATE = subdirsSUBDIRS += ComboBox/ComboBox.proSUBDIRS += DoubleInput/DoubleInput.proSUBDIRS += ImageButton/ImageButton.proSUBDIRS += ImageFrame/ImageFrame.proSUBDIRS += IntegerInput/Inte原创 2020-07-17 14:16:25 · 1635 阅读 · 0 评论 -
Qt与Visual Assitst X的集成问题
Qt与Visual Assitst X的集成问题Visual Assist X具有强大的编辑特色,提高了生产效率,可以完全集成到Microsoft开发环境中。它能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有助于提高 开发过程的自动化和开发效率。QT中也有大量的函数名关键字等,经常一时记不住,那么在使用QT4.7.2的过程中能不能也使用VA呢?答案是可以的,方法如下:安装VA后,在VS 2008中上面的工具栏内有个VAssistX,下拉菜单的最底下转载 2020-07-07 23:23:02 · 533 阅读 · 0 评论 -
QWidget与CWnd相互转化
QWidget与CWnd相互转化QWidget -> CWnd:QWidget * pWidget = new QWindget;CWnd * pWnd = CWnd::FromHandle( (HWnd)( pWidget->winId() ));CWnd -> QWidget:CWnd * pWnd = new CWnd ;QWidget *widget = QWidget::find(HWND( pWnd->mhWnd ) );...原创 2020-07-07 23:12:36 · 904 阅读 · 0 评论 -
纯粹透明背景的QGraphicsView
纯粹透明背景的QGraphicsView使用Qt的QGraphicsView进行动态界面的绘制,透明效果,总是迟早会遇到的,使用setWindowOpacity么?那样只能让你的QGraphicsView子窗口全部变成透明的。正常的QWidget,只要设置好父窗口,属性设置为FramelessWindowHint,不刷新背景,基本没有问题了。但是在QGraphicsView上这种方式,竟然是不成功的,百思不得其解。我使用以下方式完成这种效果:setStyleSheet("background:原创 2020-07-07 22:59:35 · 1723 阅读 · 0 评论 -
QT禁用“最大化按钮“和“禁止调节窗口大小“
QT禁用"最大化按钮"和"禁止调节窗口大小" "最大化按钮":setWindowFlags(windowFlags()& ~Qt::WindowMaximizeButtonHint); "禁止调节窗口大小":setFixedSize(this->width(), this->height());原创 2020-07-07 22:45:28 · 5372 阅读 · 0 评论 -
解决 warning C4003: “min”宏的实参不足
解决 warning C4003: “min”宏的实参不足使用Qt5.0.1 for ms2010编译一个工程,错误信息如下:d:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qdatetime.h(123) : warning C4003: “min”宏的实参不足d:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qdatetime.h(123) : error C2589: “(”:“::”右边的非法标记d:\qt原创 2020-07-07 22:27:14 · 1142 阅读 · 0 评论 -
QT + MinGW 中文显示乱码解决方案
QT + MinGW 中文显示乱码解决方案1.将cpp文件从使用UTF-8改为使用UTF-8-BOM编码方式,中文就可以显示了!2.代码如下:DialogInput Input(QString::fromLocal8Bit("请您输入数据: ").toLocal8Bit());Input.exec();原创 2020-06-13 08:58:04 · 7152 阅读 · 0 评论 -
英文字符串过长,QLabel显示不全的问题
英文字符串过长,QLabel显示不全的问题QLabel显示全英文字符串时,不支持换行。因为全英文字符串中间没有空格,Qlabel会把整个字符串当成一个单词,而一个单词不支持换行。如果要换行可以使用QTextBrowser控件。...原创 2020-06-12 22:37:21 · 1078 阅读 · 0 评论 -
CMake配置OpenCV时,显示错误:find_host_package(PythonInterp 2.7)' found wrong Python version
CMake配置OpenCV时,显示错误:find_host_package(PythonInterp 2.7)' found wrong Python version问题描述:CMake配置OpenCV时,显示错误:find_host_package(PythonInterp 2.7)' found wrong Python version,具体提示如下:Found PythonInt...原创 2020-04-11 23:21:17 · 8618 阅读 · 0 评论 -
Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符
Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符问题描述:Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符。错误位于“opencv_contrib-4.2.0\modules\cvv\src\stfl\ stringutils.cpp”第255行:str = str....原创 2020-04-11 22:11:59 · 536 阅读 · 0 评论 -
Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符
Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符问题描述:Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符,如下图:解决方案:点击下图红色剪头按钮,弹出如下选项:选择“仅生成”,然后清理,重新生成即可。“生成+IntelliSense”是说:Visual Studio的I...原创 2020-04-11 21:56:12 · 5206 阅读 · 0 评论 -
QMessageBox自定义大小
问:如何自定义QMessageBox窗体大小?答:使用styleSheet来进行自定义大小的设置。示范代码如下:void MainWindow::on_m_qaAbout_triggered(){ QMessageBox box; //设置文本框的大小 box.setStyleSheet("QLabel{" "mi...原创 2020-03-05 11:14:35 · 4407 阅读 · 0 评论 -
Qt 判断文件或文件夹是否存在及创建文件夹
1. 判断文件夹是不是存在参数说明:QString fullPath;//文件夹全路径/*方法1*/bool isDirExist(QString fullPath){QDir dir(fullPath);if(dir.exists()){return true;}return false;}/*方法2*/bool isD...原创 2020-03-05 11:10:19 · 2890 阅读 · 0 评论 -
Qt保留小数点后两位
double/float size = 2.3334524;QString str = QString::number(size, 'f', 2);其中f代表非科学计数法格式,2代表小数点后两位。QString str = QString::number(size, 'g', 6);其中g代表科学计数法格式,6代表小数点后两位。...原创 2020-03-05 11:06:56 · 3774 阅读 · 0 评论 -
Qt连接SQL Server 2014数据库
Qt连接SQL Server 2014数据库1. 建立目标数据库连接数据库之前,需先在SQL Server中建立一个目标数据库,建立数据库和添加表的步骤这里不详述。如建立一个名为DataBase的数据库,其中有heart1表、heart2表和heartHD三个表。这里使用的是数据库版本为 SQL Server 2014 R2。2. 配置数据库数据源在配置数据源之前,要确保...原创 2020-01-08 14:15:02 · 694 阅读 · 0 评论 -
Qt Supported Databases
Qt Supported DatabasesSQL数据库驱动程序Qt SQL模块使用驱动程序插件与不同的数据库api进行通信。由于Qt的SQL模块API与数据库无关,所以所有特定于数据库的代码都包含在这些驱动程序中。Qt提供了几个驱动程序,还可以添加其他驱动程序。提供了驱动程序源代码,可以将其用作编写自己的驱动程序的模型。Supported DatabasesThe table b...原创 2020-01-08 13:09:12 · 177 阅读 · 0 评论 -
C++98 warnings after update to Qt 5.14 (MSVS2017)
C++98 warnings after update to Qt 5.14 (MSVS2017)QuestionAfter updating Qt to 5.15, I'm getting "incompatible with C++98" errors in ALL the places. I'm using CONFIG += c++11 (was using c++17 befor...原创 2020-01-08 13:02:24 · 762 阅读 · 0 评论 -
Ubuntu安装Qt
Ubuntu安装Qt下载Qt这里提供Qt Creator的下载链接,点击进入官网后选择需要的版本进行下载。目前最新的是Qt 5.13,那就下载x64的Linux版的5.13,或者使用wget下载。 安装Qt首先要cd进入软件安装包的目录,然后取得安装权限,进行图形化安装,如下:cd 桌面 chmod +x qt-opensource-linux-x64-5.13.2.ru...转载 2019-11-01 19:24:35 · 863 阅读 · 0 评论 -
QT删除只读文件
QT删除只读文件删除文件用 QFile::remove(filename);就ok了。返回true证明删除成功,返回false删除失败。如果是只读的,就删除不了。用 bool QFile :: setPermissions(const QString&fileName,QFileDevice :: Permissions 权限)函数设置文件的权限。文件权限的详解:这个枚举是在Qt ...原创 2019-10-16 17:01:41 · 870 阅读 · 0 评论 -
释放QList指针
释放QList指针使用qDeleteAll() QList<T*> list;qDeleteAll(list); list = NULL; QList<T*> *listp; qDeleteAll(*list); listp->clear(); listp = NULL;通过遍历列表...原创 2019-10-16 16:29:15 · 648 阅读 · 0 评论 -
QDebug输出彩色消息
QDebug输出彩色消息在Qt终端使用QDebug输出彩色信息有点类似于html的语法,即在要输出的文字前加上转义字符。指令格式如下:\033[*m这里的*就是转义字符,例如我们要输出一段绿色的文字:qDebug("\033[32mHello!");输出结果:Hello!效果图:此外还可以设置字体的背景底色、是否加粗、清除屏幕等等。其中*的取值如下: 0 ...原创 2019-10-16 16:18:45 · 814 阅读 · 0 评论 -
QObject 的拷贝构造和赋值操作
QObject 的拷贝构造和赋值操作QObject中没有提供一个拷贝构造函数和赋值操作符给外界使用,其实拷贝构造和赋值的操作都是已经声明了的,但是它们被使用了Q_DISABLE_COPY () 宏放在了private区域。因此所有继承自QObject的类都使用这个宏声明了他们的拷贝构造函数和赋值操作符为私有。为什么要这样做?我们都知道Qt对标准C++增加了一些功能:signals, s...原创 2019-10-16 16:11:40 · 455 阅读 · 0 评论 -
QT使用VLD检测内存泄漏
QT使用VLD检测内存泄漏下载VLDVLD版本:vld-2.5.1-setup下载地址:https://kinddragon.github.io/vld/安装VLD直接双击安装,选择安装位置,下一步,下一步即可。可选(应该不需要)将D:\ProgramFiles\Qt\VLD\bin\Win32和D:\ProgramFiles\Qt\VLD\bin\Win64添加到系统环境...原创 2019-10-16 16:08:10 · 406 阅读 · 0 评论 -
QT简介
简介Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,A原创 2013-05-23 22:00:51 · 1188 阅读 · 0 评论 -
Qt 信号与槽机制
Qt 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 Qt 库的基础之上。Qt 支持下列平台:MS/WINDOWS-95、98、NT 和 2000;UNIX/X11-Linux、Sun Solaris、HP-UX、Digital Unix、IBM AIX原创 2013-05-27 20:05:57 · 543 阅读 · 0 评论 -
Qt的信号槽机制介绍
Qt 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 Qt库的基础之上。Qt 支持下列平台:MS/WINDOWS-95、98、NT 和 2000;UNIX/X11-Linux、Sun Solaris、HP-UX、Digital Unix、IBM AIX、SG原创 2014-11-25 08:37:52 · 536 阅读 · 0 评论 -
QT学习笔记之对话框
QT学习笔记之对话框对话框是一种用户界面(窗口),它的主要功能是输出信息和接收用户的输入。在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互。1) 模式对话框:用户只能与当前对话框交互,不能与所属程序的其他界面交互。2) 非模式对话框:用户既能与当前对话框交互,也能与所属程序的其他界面交互。3) QDialog的exec()方式:模原创 2015-01-04 08:46:36 · 1558 阅读 · 0 评论 -
关于Qt5.10调试时出现“qtcreatorcdbext.dll cannot be found.”的解决方案
关于Qt5.10调试时出现“qtcreatorcdbext.dll cannot be found.”的解决方案原创 2018-01-03 14:34:11 · 1169 阅读 · 0 评论 -
QT定时器简介
QT定时器简介原创 2018-01-03 21:25:10 · 500 阅读 · 0 评论 -
QT下信号与槽不在同一个线程中如何connect
QT下信号与槽不在同一个线程中如何connect原创 2018-01-04 20:24:32 · 1610 阅读 · 0 评论 -
QT多线程简介
QT多线程简介原创 2018-01-04 21:16:37 · 1047 阅读 · 0 评论 -
QT.pro工程文件中判断宏定义是否存在
QT.pro工程文件中判断宏定义是否存在原创 2018-02-23 21:16:52 · 3574 阅读 · 0 评论 -
QT常见错误
QT常见错误原创 2018-02-23 21:18:15 · 441 阅读 · 0 评论 -
Qt中pro文件如何从相对路径导入库
Qt中pro文件从相对路径导入库原创 2018-02-23 21:36:42 · 1732 阅读 · 0 评论