
Qt
文章平均质量分 54
永远的魔术1号
一名小小的软件工程师
展开
-
Qt单一应用实例判断
原本项目中使用QSharedMemory的方法来判断当前是否已存在运行的实例,但在MacOS上,当程序异常崩溃后,QSharedMemory没有被正常销毁,导致应用程序无法再次被打开。原创 2023-10-08 22:53:19 · 1026 阅读 · 0 评论 -
使用bash脚本编译Qt工程
最近在搭建Qt工程的编译服务器,需要通过shell脚本执行工程的编译过程,写在这里,总结最近的工作。原创 2023-09-25 22:52:05 · 386 阅读 · 0 评论 -
MinGW编译运行报错RTTI symbol not found for class ‘XXX‘
MinGW编译运行报错RTTI symbol not found for class 'XXX'原创 2023-08-18 09:29:45 · 621 阅读 · 0 评论 -
记一次Qt操作MySQL和QtFtp
记一次Qt操作MySQL和QtFtp原创 2022-10-14 23:31:06 · 526 阅读 · 1 评论 -
Qt维护工具添加资料档案库
Qt维护工具资料档案库设置方法原创 2022-08-23 10:50:28 · 7832 阅读 · 0 评论 -
glTexImage2D创建纹理后无法显示
glTexImage2D创建纹理时所使用的位图必须为 64x64、128x128、256x256……否则无法正常显示可以选择使用gluBuild2DMipmaps生成mipmapped纹理,绕过这一问题。支持各分辨率图片。原创 2016-04-30 09:59:49 · 3064 阅读 · 1 评论 -
Qt 5.5.1 + OpenCV + VS2012 控制电脑摄像头
1. OpenCV环境配置下载地址:https://opencv.org/releases.html在这里我选择的3.0.0,好像3.0.0是最后一个支持vs2012也就是vc11的版本吧。因为是windows系统,所以选择Win pack,下载下来的文件 opencv-3.0.0.exe 双击会进行解压,我这里解压到 d:/opencv3.0.02. 创建Qt工程在pro文件中增加以下内容,配置...原创 2018-07-04 17:53:17 · 392 阅读 · 0 评论 -
消除QToolButton设置menu时出现的箭头
设置button样式表QToolButton::menu-indicator { image: none;}原创 2020-02-09 12:38:18 · 4601 阅读 · 0 评论 -
mac下发布Qt应用程序无法生成log文件问题排查
最近接触了Qt mac程序的开发,使用qDebug重定向到文件的方法记录log信息,文件路径也是使用了app所在路径QCoreApplication::applicationDirPath() + "/log"生成的log文件在应用程序包中,鼠标右键点击应用程序,弹出菜单,选择“显示包内容”项,打开应用程序包目录,具体如下图:调试的时候生成log正常,可是打包成pkg文件并安装后...原创 2018-12-05 10:16:06 · 784 阅读 · 0 评论 -
C++ 程序崩溃后生成dump文件
在main.cpp中添加以下代码,即可在程序崩溃时生成dump文件。#include "DbgHelp.h"LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS lpExceptionInfo);int main(int argc, char *argv[]){ // 加入崩溃dump文件功能 SetUnhandledE...原创 2018-10-31 10:54:34 · 3564 阅读 · 0 评论 -
source insight 联想出Qt库函数
在source insight中进行编码,无法正常联想出Qt库函数,解决办法如下:Source Insight 工具栏 Project ---> Import External Symbols ---> Add... ---> Import from an INCLUDE path在弹出的编辑框中输入 D:\Qt\Qt5.9.4\5.9.4\mingw53_32\in...原创 2018-10-09 17:55:11 · 1581 阅读 · 1 评论 -
Qt信号槽自动关联
想要槽函数自动关联信号,槽函数名称必须遵循以下规则:void on_<object name>_<signal name>(<signal parameters>);注意:这里是对象名称,也就是setObjectName设置的名称,例如:QPushButton* pButton = new QPushButton(this);pButton-&...原创 2018-09-06 15:29:46 · 1744 阅读 · 0 评论 -
QScrollBar样式表示例
QScrollBar:vertical { border: none; background-color: purple; width: 20px; margin: 20px 0 20px 0;}QScrollBar::handle:vertical { border: none; border-radius: 5px; backgro...原创 2018-08-21 16:34:04 · 1677 阅读 · 1 评论 -
Qt调起外部应用并嵌入界面
最近有个项目需要在程序中调起外部应用,然后将应用显示在软件的窗口中,总结过程中遇到的问题:1. 调起外部应用 网上帖子很多,使用QProcess::startDetached或QProcess::start方法即可,根据自己不同需要选择不同的方法。2. 嵌入软件界面 主要思路如下: 运行exe--->FindWindow获得窗口句柄--->QWindow::fromW...原创 2018-07-03 17:54:46 · 19344 阅读 · 7 评论 -
Qt对图像的二值化处理
学习一下图像处理的基础算法,写下来总结一下:1. 灰度图像 二值化图像的第一步是先将彩色图片转变为灰度图像,灰度图像算法如下:我们可以通过下面几种方法,将其转换为灰度:1.浮点算法:Gray=R*0.3+G*0.59+B*0.112.整数方法:Gray=(R*30+G*59+B*11)/1003.移位方法:Gray =(R*76+G*151+B*28)>>8;4.平均值法...原创 2018-05-20 00:41:30 · 9688 阅读 · 2 评论 -
已知坐标系原点的GPS,求点(x,y)处的GPS坐标
以GPS点作为二维坐标系的原点,正东方向为x轴正方向,正北方向为y轴正方向,单位m,求点(x,y)的GPS坐标:_GPS GpsPlusDistance(const double& lat, const double& lng, const int& x, const int& y){ float dist = sqrt(x * x + y * y); ...原创 2018-05-17 13:51:40 · 8712 阅读 · 0 评论 -
消除QTreeWidgetItem外层虚线框
原来一直通过设置QTreeWidget->setFucosPolicy(Qt::NoFocus); 但后来发现设置了NoFocus以后,QTreeWidget无法响应键盘事件,设置为Qt::StrongFocus,能响应键盘事件了,但是影响美观的虚线框又出来了。 后来发现通过setStyleSheet中outline属性也可以消除:QTreeView { outline: 0px;原创 2018-01-25 16:52:04 · 3544 阅读 · 0 评论 -
重载QTreeWidgetItem operator< 解决排序问题
Qt的 QTableWidget 和 QTreeWidget 对item的排序,一直都存在一个问题,例如有三个item,text分别为1、3、15,排序的结果必然为1、15、3,这样不是我们想要的结果,所以需要通过重载QTreeWidgetItem的 operator函数,改变排序比较的方式,达到我们想要的效果。.h文件class CTreeWidgetItemEx : publi原创 2016-09-19 09:36:48 · 3986 阅读 · 0 评论 -
QWidget无边框无标题栏窗体 可拖动可拉伸
通常我们不想使用QMainWindow提供的标题栏,或者是QWidget的标题栏、边框,这时候我们使用了一个普通的QWidget,没有标题栏没有边框,但我们又需要有标题栏拖动的功能,边框改变大小的功能,看上去是个很矛盾的想法,所以...我们只能自己实现了。 直接贴代码吧: CMainWindow.hclass CMainWindow : public QWidget{原创 2016-10-03 22:44:34 · 11500 阅读 · 3 评论 -
QThreadPool 使用记录
QThreadPool 自己开发中遇到的问题,记录下来原创 2016-09-26 12:08:48 · 2821 阅读 · 0 评论 -
Qt程序发布
每次开发一个Qt应用程序,都会遇到一个问题,那就是做好了该怎么给别人用。都知道是编译个release版本的exe给别人,但是点击运行后就发现,提示缺少一堆dll,到底哪些dll该被拿过来?有没有哪个工具可以方便的拷贝这些缺少的文件呢?Qt提供了一个工具,可以方便的解决这个问题,做一个完美的发布版。1.首先编译一个release版本的exe,叫它test.exe,并将这个exe拷贝到一个指...原创 2017-02-09 15:10:58 · 361 阅读 · 1 评论 -
Windows下C++判断当前程序是否已存在活动实例
直接贴代码吧,在main函数中调用即可:头文件必不可少:#include #include 实现函数:bool isProcessExist(){ HANDLE hProcessSnap; PROCESSENTRY32 pe32; DWORD dwPid = 0; int nProcCount = 0; // 截原创 2017-03-10 11:15:10 · 2247 阅读 · 0 评论 -
Qt加载高德在线地图
Qt使用QWebView加载高德地图首先 widget.h文件中对变量、槽函数声明private: QWebView* m_pWebView; // QWebView对象private slots: void onPageLoadFinished(bool); // 地图加载完毕槽函数public slots: void onMa原创 2017-06-19 10:09:22 · 9948 阅读 · 9 评论 -
Qt加载高德地图,响应地图拖拽事件
高德地图的事件说明参见高德开发者文档: 高德地图Map类参考手册 var _dragendEvent = function(e) { var gps = map.getCenter(); Dialog.onGetLngLat(gps.getLng(), gps.getLat()); // Dialog是注册的js对象,加载高德地图的文章中讲过 }原创 2017-06-19 10:33:54 · 1352 阅读 · 1 评论 -
QThread中执行UDP发送
参照文章《解析Qt中QThread使用方法》(http://mobile.51cto.com/symbian-268690.htm)修改得来。代码如下:dummy.h#ifndef DUMMY_H#define DUMMY_H#include class Dummy : public QObject{ Q_OBJECTpublic:原创 2017-06-15 09:32:00 · 1350 阅读 · 1 评论 -
Qt鼠标拖动ScrollArea代替鼠标滚轮操作
因为此前有个项目做的软件要在平板上运行,屏幕不大,滚动条太细,如果加粗滚动条影响美观,滚动条太细又点不到,用户体验较差。所以做了这个鼠标拖动即可代替鼠标滚轮的功能。dialogex.h#ifndef DIALOGEX_H#define DIALOGEX_H#include #include #include #include #include class原创 2017-10-27 09:39:26 · 5690 阅读 · 9 评论 -
Qt 控件添加阴影效果
Qt控件添加阴影效果原创 2017-11-14 17:18:35 · 4867 阅读 · 1 评论 -
Qt软件发布问题记录
最近在Win7 + Qt 5.5.1 + vs2012环境下软件开发,开发好的软件编译release版本,用之前写过的一篇帖子 《Qt程序发布》方式将所需要的动态库拷贝到一起,nsis脚本打包成exe安装程序,以为一切ok。当然在自己的机子上运行是没有问题的,可是换到别的电脑上,可能就要报错了。 1. 缺少 msvcr110.dll msvcp110.dll 众所周知,这两个是原创 2017-11-15 09:06:38 · 348 阅读 · 0 评论 -
GPS数据模拟
今天用到了GPS数据,但是需要组成标准的数据包发给客户端去解析,在查看了常用的GPS数据包格式,最后选用了GPRMC字段的数据。GPRMC数据格式很容易就可以搜索到:$GPRMC,,,,,,,,,,,,*hh字段参数格式字段0帧头$GPRMC字段1原创 2017-11-30 19:24:10 · 4385 阅读 · 1 评论 -
Qt使用第三方类打开串口号10以上的失败问题解决方法
第三方类qextserialport时,打不开com10及以上的串口解决方法是在串口名前加上 \\.\,具体代码如下:QString portName = "";portName.append("\\\\.\\").append("COM88");pSerialCOM = new Win_QextSerialPort(portName, ...);原创 2016-08-09 18:02:42 · 1421 阅读 · 0 评论