- 博客(235)
- 资源 (39)
- 收藏
- 关注
原创 qt显示中文乱码,编译提示常量中有换行符,文本后缀“xxx”无效,未找到文本运算符或者文本运算符模板“xxx”
系统:windows10硬件:thinkpad T590qt版本:Qt 5.14.1Qt Creator版本:4.11.1一开始我用MinGW编译器能正常编译,并且显示中文字符串也正常,如下图:然后我改成了msvc编译器,结果编译的时候就挂了,我慢慢的改动字符串内容,发现报的错还不一样,要么提示常量中有换行符,如下图:要么提示文本后缀“xxx”无效,未找到文本运算符或者文本运算符模板“xxx”,如下图:要么编译不报错,但运行显示乱码,如下图:研究后发现这.
2022-05-19 15:35:55 5610 3
原创 Qt开发大型项目时,通过.pri文件将众多文件按功能模块分类显示
1.新建一个项目取名TestPri,如下图:2.添加多个类,如下图:3.可以看到随着添加的类越来越多,我们的qtcreator界面左侧的项目导航栏中的文件越来越多,越来越让人看得眼花,当你的项目工程特别大,文件数量特别多的时候,如果还是这样所有文件都堆在一起的话,想要找某个文件就变得非常困难,极大地影响开发效率。这时候就可以用到pri文件。步骤如下:a.右击TestPri项目,选择Add New—General—EmptyFile—取名function1.prib.打开TestP
2022-05-17 16:39:33 1895
原创 opencv Mat::at<>()报错问题记录
//1.它是一个二维矩阵,如果矩阵的维度大于 2 ,执行出错CV_DbgAssert(dims <= 2); //2.如果传过来的矩阵数据为空,执行出错CV_DbgAssert(data); //3.访问不到像素,如图像为500x500,给出的访问命令像素点指向了(600,400)超出了500CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); //4.同理 3CV_DbgAssert((unsigned)(i1 * Data.
2022-05-12 10:44:33 1868 2
原创 qt实现程序密钥注册功能,MD5加密+AES加密,并实现一台电脑系统一个密钥
qt实现了一个给自己软件加密的功能。原理是:需要被注册的软件第一次运行的时候,在系统的注册表里面注册一个键值,如下:这个值作为生成密钥的用户识别号,然后生成密钥文件key.db,把这个key.db文件放到软件执行目录下,即可完成软件的注册并正常使用软件。软件第一次打开的界面及密钥生成工具软件界面如下:将密钥生成工具软件生成的key.db放到软件执行目录下之后,软件即可正常使用,如下图:代码使用了MD5加密 外加 AES加密,解密和加密的核心代码如下:QSt.
2022-05-07 15:41:49 3451 2
原创 C#Datagridview使用小窍门——当用户要求加列的时候减少代码改动量
datagridview赋值的一般写法: for(int i=0;i<5;i++) { dataGridView1.Rows[i].Cells[0].Value = (i+1).ToString(); dataGridView1.Rows[i].Cells[1].Value = "Name"+(i+1).ToString(); dataGridView1.
2022-04-29 19:46:18 534
原创 qtcreator安装及配置
1.在安装qt之前,我们要先安装好visualstudio,并勾选c++相关的所有组件2.安装好之后,安装qt安装完之后,打开qtcreator,这时候,如果你新建程序的时候只需要用mingw编译器的话,那就可以正常开发了,但如果需要msvc编译器的话,还需要设置一下,步骤如下:点击——工具——选项,如下:c和c++编译器分别下拉选择一下,如下:选完之后,我们就可以正常新建程序并运行程序了,但还有问题就是不能debug调试,这个时候,问题处在上图中debugge.
2022-04-19 11:48:13 18007 2
原创 Win10下安装SqlServer2014提示需安装.NETFramework3.5SP1
系统:win10硬件:thinkpad T590问题:安装SqlServer2014提示需安装.NETFramework3.5SP1一开始我在VisualStudio里面勾选.net framework 3.5组件安装,然后重启,结果没用,安装sqlserver的时候还是提示需要安装.NETFramework3.5SP1然后网上搜了半天找到个方法:打开控制面板--程序和功能--启用或关闭Windows功能全勾选".NET Framework 3.5(包括.NET2.0和3.0)"..
2022-04-19 10:14:43 3869 1
原创 c#字符串全角转半角
用c#编写程序时,用户在输入框输入的字符大部分情况下是半角,但有时候是全角,这时候我们在程序里面判定字符串匹配的时候就需要全角半角都自适应匹配才行,这就需要进行字符串的全角半角的转换,具体代码如下:/**/ // / // / 转半角的函数(DBC case) // / // /任意字符串 // /半角字符串 // / // /全角空格为12288,半角空格为32 /...
2022-04-07 10:44:08 1195
原创 qt显示中文乱码的问题
开发版本:Qt Creator 4.11.1Qt 5.14.1QMessageBox::about(this,"提示","登记成功!");这段代码在运行的时候显示的提示内容变成了乱码,解决方式:在main.cpp加上一下代码:int main(int argc, char *argv[]){ QApplication a(argc, argv); QTextCodec *codec = QTextCodec::codecForName("UTF-8");//.
2022-04-02 16:19:59 1198
原创 C#重写Label类实现绘制箭头,矩形,圆形,菱形,三角形
在winform中,自己写了个继承自label的类,实现了一些简单图形的绘制,省的用这些小图标的时候还要用ps做图片再贴进去。新建一个winforms程序,添加一个CusLabel.cs类,代码如下:using System.Collections.Generic;using System.Drawing;using System.Drawing.Drawing2D;using System.Windows.Forms;namespace TestCusLabel{ p...
2022-02-08 17:03:59 4439
原创 Xamarin创建打电话程序
程序功能:何创建一个应用程序,将字母数字电话号码(由用户输入)转换为数字电话号码,然后呼叫该号码。开发环境:VS2019 Enterprise硬件:ThinkPad T570系统:win10步骤:打开VS,创建新项目,选择移动应用(Xamarin.Forms)点击下一步,给项目命名为Phoneword,然后点击创建选择空白应用,然后点击创建打开MainPage.xaml文件,内容删掉后改成如下:using System;using Xamarin....
2022-01-17 17:02:10 3368
原创 C#中异步调用async、await的使用小例子
C#5.0引入了async和await关键字,这可以让我们用很少的代码实现异步编程,假设再同步编程中,点击按钮后要运行耗时5s的运算,这时候界面就会卡死,等着5s的运算结束后用户才能继续操作界面,而用异步编程的话,点完按钮后,着5s的运算会在另一个线程中执行,同时用户可以立即操作界面。废话不多说,上代码:硬件:ThinkPad T570系统:Win10开发环境:VS2019新建一个winform程序,Form1.cs中代码如下: private void button
2021-11-19 11:26:26 1791
原创 C# Console.WriteLine()不在输出窗口显示内容
以前调试代码的时候,用Console.Writeline(“xxxxx”)可以直接在VS的“输出”窗口显示要打印的东西,今天用VS2019跑代码的时候突然发现没有输出内容了,搞得我一脸懵逼。查了相关资料之后,发现得改成Trace.WriteLine("xxxx")...
2021-11-18 15:50:32 16537 7
原创 Xamarin安装及新建一个移动应用程序
最近需要开发安卓和ios应用,开始学习Xamarin。要想把自己写的代码同时可以打包成安卓、iso的应用,我们需要用Xamarin.Forms。Xamarin.Forms适用的对象:跨平台共享 UI 布局和设计。 跨平台共享代码、测试和业务逻辑。 使用 Visual Studio 在 C# 中编写跨平台应用。详细介绍参见:什么是 Xamarin.Forms? - Xamarin | Microsoft Docs虽然Xamarin.Forms 提供了一个公共 API,它可跨平台呈现本机控
2021-11-15 14:00:20 2680
原创 sqlserver备份还原数据库操作流程
数据库备份操作流程:先找到要备份的数据库,选择“任务”——备份——然后选择备份到哪个文件:还原,选择刚备份的文件要还原到哪个数据库,右击——任务——还原——数据库:然后源选择“常规”——“设备”找到刚备份的文件目录,然后选择“选项”,勾选“覆盖现有数据库”,“关闭到目标数据库的现有连接”,如下:然后点确定成功后如下:...
2021-11-04 15:36:05 2368
原创 自定义的QGraphicsItem类无法响应鼠标移动事件
自己重写了一个类,继承自QGraphicsItem类,然后我想重写mouseMoveEvent(QGraphicsSceneMouseEvent *event);函数,来捕捉鼠标移动事件,从而实现实时显示item上光标所在位置的的坐标。结果鼠标移动的时候怎么也进不了这个函数,只有当鼠标点击这个item之后移动,才能进这个函数,坑的不行。解决方法:改用重写virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *eve
2021-11-04 15:34:37 3050
原创 qt编写的mask遮罩的半透明涂抹功能
工具功能如下: 1.可控制遮罩绘制时候是起始和终止点是矩形还是圆形 2.可控制遮罩颜色,用户自定义 3.可控制遮罩线条粗细,1~150像素范围内 4.可控制遮罩当前是绘图还是移动图片模式 5.添加橡皮擦功能 6.release模式下,20M以内的图绘制和移动不会卡顿运行效果如下:实现该功能的方法主要是通过QPixmap::setMask()来实现的,需要源码的可以联系我......
2021-11-02 09:29:37 933 3
原创 qt绘制半透明的遮罩(通过qbrush设置半透明图片实现)
qt实现的半透明遮罩效果如下:步骤:1.用ps做一张透明度为50%的png图,如下:2.在工程中吧png图片添加到资源中,如下:3.在绘制矩形的时候,设置brush,如下: //设置笔刷为图片平铺 QImage image(":/maskP"); QBrush brush(image); brush.setStyle(Qt::TexturePattern);//设置平铺模式 painter->..
2021-09-01 18:17:48 2242
原创 手把手教你使用Qt自带的opengl创建显示立方体顶点
例程主要时在三维空间中绘制了一个立方体的8个顶点,并且可以绕x,y,z轴进行旋转,运行效果如下:1.先创建一个窗口类程序,如下图:2.添加一个类,取名叫GLWidget,这个类就是用来调用opengl显示三维数据的!3.在工程目录下新建个文件夹,放个纯色的图片进去,方便给三维空间中的顶点着色用,然后新建资源文件,命名为texture,步骤如下:准备工作做完了,接下来详细编写GLWidget类了,代码如下:头文件:#ifndef GLWIDGET_...
2021-08-12 17:37:21 1061
原创 qt实现窗口背景透明
方法一: MainWindow w; //方法一:主界面透明,界面里面的控件不透明 w.setWindowFlags(Qt::FramelessWindowHint);//设置无窗口框架边界 w.setAttribute(Qt::WA_TranslucentBackground);//设置背景透明 w.show();编辑界面:运行效果:方法二:w.setWindowOpacity(0.5);//直接设置整个窗口(包含里面的控件)0完全透.
2021-08-02 09:33:55 7083
原创 qt实现命令行查询程序相关信息QCommandLineParser,QCommandLineOption的使用
我们知道,程序是可以通过命令行打开的,做法是打开运行cmd,打开命令行窗口,然后输入程序的完整路径就可以打开程序,比如在我的电脑路径F:\QTCode\TestCode\QtUseOpenGlTest\build-hellogl2-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\debug下有个hellogl2.exe程序,通过命令行打开方式如下:按下win+R——输入cmd——按回车出现如下界面:然后输入F:\QTCode\TestCode\QtUseOpenGl..
2021-07-21 15:39:33 625
原创 qt实现将数据转成灰度图及伪彩图
本例子将800*600的double类型的数据先进行归一化成0-255的quint8类型的数据,然后将归一化后的数据生成一个QImage,这个QImage的格式一定要是QImage::Format_Indexed8这是为了方便使用自定义的颜色表,然后将qimage放到qlabel中显示,效果如下:主要代码如下:头文件:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>QT_..
2021-07-14 16:28:02 3059
原创 qlabel实现图像以鼠标为中心进行缩放和拖动
#ifndef MYLABEL_H#define MYLABEL_H#include <QObject>#include <QLabel>#include <QMouseEvent>#include <QWheelEvent>#include <QPainter>#include <QDebug>class MyLabel:public QLabel{public: MyLabel(QWidget *p.
2021-06-26 20:27:56 4909 7
原创 qt实现windows系统下录屏功能
我的程序是借鉴了网上流传的avilib源码实现的屏幕录制。功能:1.最高支持1080P 24帧率高清录制2.支持特定屏幕区域录制3.支持录屏质量修改,质量越高,录制单位时间生成的avi文件越大4.支持帧率选择5.通过的注意点:1.debug下录制...
2021-05-20 15:18:03 4175 3
原创 qt自定义控件不执行paintEvent(QPaintEvent *)
记录一个问题:我重写了一个类myslider继承自QSlider,然后重写了paintEvent(QPaintEvent *)方法。然后从工具栏拖一个QSlider工具到主界面上,名字为verticalSlider,然后将这个QSlider提升为自己的myslider然后运行的时候发现不会执行myslider::paintEvent(QPaintEvent *)函数。也就是界面上不显示这个QSlider。解决方案:主界面构造函数中添加如下代码:ui->verticalSlider-&g
2021-05-19 14:05:52 2694 1
原创 qt中提升控件的操作
我的代码里面自己写了一个类myview,继承自QGraphicsView,然后就把拖到界面上的QGraphicsView控件通过提升控件的方式替换成自己的myview类。先在工具栏拖一个QGraphicsView到主界面上,如下图:右击界面上的Graphics view——选择“提升为”,如下图:在提升的类名称:输入自己写的类名(注意大小写要一模一样!),如下图:然后勾选上面的全局包含勾选框——点击提升,如下图:到现在为止就算是提升好了,我们在mainwindow.ui文件里面就可以看到你
2021-05-19 09:59:05 2755
原创 qt写的windows下获取鼠标所在位置及颜色
主要用到的是windows的如下几个函数:HDC dc = GetDC(0);//0表示获取桌面的DC上下文POINT Mouse;GetCursorPos(&Mouse);//获取当前鼠标位置int BGR = GetPixel(dc,Mouse.x,Mouse.y);//获取鼠标位置的BGR颜色头文件需要包含#include <Windows.h>#include <winddi.h>另外需要手动加载windows的lib模块#pragma co.
2021-05-13 16:06:32 1099
原创 qt实现在电脑端群发微信
需要用到的知识点:1.主要还是靠windows自带的api实现2.用到了系统回调函数遍历窗口3.用到了剪贴板4.用到了窗口前后台链接、激活及恢复核心代码如下:#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>#include <Windows.h>#pragma comment (lib, "User32.lib")char m_Name[MAXBYTE];char m_Ti.
2021-05-11 15:58:18 951
原创 windows下qt获取所有桌面窗口所属类名和标题
新建一个Qt Widgets Applicationmainwindow.cpp如下:#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>#include <Windows.h>#pragma comment (lib, "User32.lib")char m_Name[MAXBYTE];char m_Title[MAXBYTE];WORD m_nNum;BOOL CALLBACK
2021-05-11 13:58:15 4126
原创 QT实现向外部窗口发送消息
我的电脑上用微信打开了一个对话窗口,如下图:我的目的是通过qt开发的程序向这个窗口发送消息头文件处需要有下面代码:#include <Windows.h>#pragma execution_character_set("utf-8")#pragma comment (lib, "User32.lib")功能代码如下:HWND hwnd = FindWindow(NULL,L"文件传输助手");//找到桌面上窗口名叫"文件传输助手"的窗口QString str = "test
2021-05-10 16:35:49 1726 2
转载 C#全角和半角转换
今天用C#开发程序里面的datagridview显示用户输入的文字时,发现同样是英文字符A,显示出来却有区别:AAAA一开始以为是输入字体不一样,搞了半天才发现是全角半角的问题,和输入法没关系。而客户觉得显示格式不统一,不好看,要求改,于是找到下面这篇文章,在这里记录一下文章转自:https://www.cnblogs.com/shanyou/archive/2009/07/13/1522367.html在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地
2021-05-10 11:50:13 2005
原创 重写QGraphicView类实现在view控件上显示十字标线(解决QGraphicView重写qpaintevent无效的问题)
在我的代码里界面上放了一个qgraphicview,然后设置qgraphicview的场景QGraphicsScene,然后在QGraphicsScene里面放item(也就是上图显示的黑色线条)我的需求是在view控件区域显示十字标辅助线操作步骤如下:1.重写一个类cusView继承自QGraphicsView2.重写paintEvent函数,这个函数里写绘制十字线的代码。3.重写mousemove函数,在里面调用this->scene()->update();目的是触发paint.
2021-05-01 12:23:15 1851
原创 qt获取控件位置大小异常
在qt界面上放了一个QGraphicsView控件,功能上需要获取这个控件的大小。在构造函数内,通过下面代码获取QGraphicsView的位置大小:ui->graphicsView->rect();一开始没有设置界面的布局的时候,完全没问题,但将布局改为垂直布局或者水平布局的时候就发现获取到的控件大小不对。后来想到重写界面的resizeEvent事件来获取,结果还是不行。后来想着哪个事件是界面初始化完成之后触发的,想来想去还是通过写一个计时器来实现吧,在构造函数里加上下面的代码:.
2021-04-21 11:29:45 1371 2
原创 QGraphicsPathItem,QGraphicsScene,QGraphicsView使用问题记录,QGraphicsScene::items()获取鼠标位置的QGraphicsPathItem
实现的功能是在界面上显示1000条线,每条线上有10000个数据,要鼠标点击或者移动到某条线上的时候显示该线条的一些信息实现思路:1.界面上放一个QGraphicsView2.在QGraphicsView中放一个QGraphicsScenem_scene=new QGraphicsScene();ui->graphicsView->setScene(m_scene);3.将条线的放到一个QPainterPath数组里,总工1000个元素QPainterPath path[1000
2021-04-21 10:57:19 1766
原创 qtcreator创建dump文件并用vs2015定位程序中断位置
新建一个qt项,取名TestDump在.pro文件中添加如下代码,为了编译的时候能生成pdb文件#以下代码为生成pdb文件CONFIG += force_debug_infoCONFIG += senarate_debug_info新建一个cusdump.h头文件,代码如下:#ifndef CUSDUMP_H#define CUSDUMP_H#pragma once#include <tchar.h>#include <Windows.h>#include .
2021-02-15 10:44:19 668 3
原创 qt使用sqlite在debug下正常,在release下或者程序打包后异常
windows下,用qt开发了一个使用sqlite存储log的功能,发现在debug下运行创建.db文件很正常,但在release下运行就无法创建.db文件查阅相关资料后发现,需要将电脑中qt安装目录下的sqldrivers文件夹复制到.exe同级目录下即可。随后我将sqldrivers文件夹复制到打包后的目录下,结果发现打包后的程序运行时还是无法创建.db文件,各种瞎鼓捣之后,发现,需要重新打包一下程序。于是,打开Qt 5.6 64-bit for Desktop,输入windeployqt +.
2021-01-26 11:22:01 1021
原创 根据uchar *data构建QImage保存后图片损坏的问题,bytesPerLine很重要
构造QImage的时候方法一:**QImage::QImage(const uchar data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = Q_NULLPTR, void cleanupInfo = Q_NULLPTR)Constructs an image with the given width, height and format, that uses an existing re
2021-01-25 16:04:10 1527
原创 移动,删除QGraphicItems的时候,QGraphicsSceneFindItemBspTreeVisitor::visit相关的bug解决
最近调程序,发现个qgraphicsceen相关的bug,觉得有必要记录一下程序crash的时候,提示的内容与QGraphicsSceneFindItemBspTreeVisitor::visit相关。查了一下相关资料,发现QGraphicsScene内部有个BspTree,用来方便索引sceen内部的item,但使用QGraphicsScene::removeItem之后,delete item的时候(如果只是removeitem的话,内存不会被释放,不停地增加删除item的时候会导致内存泄露,所以在
2021-01-20 16:05:53 862
qt实现程序密钥注册功能,并实现一台电脑系统一个密钥
2022-05-07
工业领域使用qt开发UDP通信功能的实现(包括单播,广播,组播)
2022-02-28
拖动旋转缩放椭圆和矩形
2022-01-10
qt实现visionpro矩形直线圆形卡尺控件
2022-01-10
QT下实现图片的自适应显示、缩放(以鼠标位置为中心进行缩放)、拖动、以及重置并截图保存
2021-12-22
qt编写的点云显示工具可拖动缩放旋转
2021-12-21
qt实现数据转灰度图及伪彩图
2021-07-14
qt实现windows下屏幕录制
2021-05-20
实现visionpro矩形直线圆形卡尺控件.rar
2020-08-06
拖动旋转缩放椭圆和矩形.rar
2020-07-03
重写QLabel实现图片显示框选截取保存.rar
2020-06-10
QT生成带界面的dll给c#调用
2020-04-23
myShowPicTool.rar
2020-03-14
qt重写paintEvent实现鼠标拖动绘制直线、矩形和圆
2020-03-09
qt实现右击鼠标弹出菜单
2020-03-07
重绘ColorDialog实现显示位置设置并在WPF中使用.zip
2020-02-04
wpf通过代码动态生成Label并通过ColorDialog修改颜色.zip
2020-02-03
qt使用对数坐标显示曲线的例子
2024-09-14
QT编写的视频播放器,可播放所有主流格式的视频 可加载srt字幕,兼容多种编码格式的srt文件
2023-11-22
qt编写的窗口多开图片显示器
2023-11-20
Qt编写的能显示16位深tiff图像并能查看每个像素的实际灰度值的图片查看器
2023-11-20
载入并显示图片,并可将图片转换成灰度图和伪彩图显示
2023-08-19
qt编写的视频播放器,带截图功能
2023-04-20
用qt编写的视频播放器,精致小巧好用,上班摸鱼必备
2023-04-17
Qt编写的精致、无广告、好用的图片查看器,看照片、漫画、gif动图必备
2023-04-13
Qt模仿visionpro实现在树中显示算子输入输出关系显示,通过重新QTreewidget实现,拖动item算子输入输出关系
2023-04-07
qt实现切换语种功能,qt语言专家的使用例程
2023-03-23
qt编写的查看并导出gif的每一张图片
2022-10-28
qt多功能图片及动画查看工具(jpg,jpeg,png,bmp,gif)
2022-10-26
手把手教你用qt链接sqlserver数据库
2022-07-06
sqlserver2014安装包第二部分,一共两部分!第一部分我也上传了!
2022-07-05
sqlserver2014安装包第一部分,一共两部分!第二部分我也上传了!
2022-07-05
qt绘制网络拓补图(连接数据库,无限绘制,可拖动节点)
2022-07-02
用qt编写的模仿visionpro的mask遮罩工具
2022-06-20
qt开发的有界面的简易对战游戏——斗罗大PK(可用作c,c++课程设计)
2022-06-09
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备
2022-05-17
qt实现程序密钥注册功能,并实现一台电脑系统一个密钥
2022-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人