自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 qt编写的点云显示工具可拖动缩放旋转

本例程通过重写QGLWidget类实现点云的显示,并可对点云进行移动,缩放,旋转的操作。

2021-12-21 22:32:49 1136

原创 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#扩展方法例子

C#扩展方法

2021-11-19 09:36:57 407

原创 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-&gt..

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实现程序密钥注册功能,并实现一台电脑系统一个密钥

原理是: 需要被注册的软件keydemo.exe第一次运行的时候,在系统的注册表里面注册一个键值,这个值作为生成密钥的用户识别号,然后用keytool.exe软件生成密钥文件key.db,把这个key.db文件放到keydemo.exe软件同级目录下,即可完成keydemo.exe软件的注册并正常使用软件。 源码中,keytool.pro是生成密钥的项目工程,keydemo.pro是使用密钥的项目工程,这两个工程都作为key.pro的子项目存在。 打开key.pro工程后,重新编译整个工程,会在bin文件夹下生成keydemo.exe和keytool.exe。

2022-05-07

工业领域使用qt开发UDP通信功能的实现(包括单播,广播,组播)

本软件实现了两台甚至多台电脑之间使用UDP通信的功能,包括单播,广播,组播的功能实现,三种发送方式的切换在代码中已标明。 默认状态为本机发送,本机接受,也就是接收端的ip地址设置为127.0.0.1,用户可根据实际情况自行更改。 软件开启后,用户可在上方输入框内输入要传输的文字,然后点击“单播发送”按钮之后,接收端口接收到的信息就显示在了下方。 代码简单明了,很适合qt初学者学习

2022-02-28

拖动旋转缩放椭圆和矩形

利用qt,通过重写QGraphicItem实现了绘制,拖动、旋转、缩放矩形和椭圆,避免了绘制过程中的重影,避免了缩放之后旋转偏移的问题,避免了旋转椭圆之后无法缩放的问题

2022-01-10

qt实现visionpro矩形直线圆形卡尺控件

通过重写QGraphicsItem实现visionpro中的矩形、直线、圆形卡尺控件。 矩形卡尺可以拖动、缩放、旋转、斜切 直线卡尺可任意拖动拉伸直线、设置矩形个数、缩放、斜切矩形 圆形卡尺可任意拖动拉伸圆弧、补全圆、设置矩形个数、缩放矩形

2022-01-10

qt实现贪吃蛇游戏小程序

用qtcreator开发的贪吃蛇游戏,能够根据是否吃到食物来计分,每次吃到食物后移动速度加快10ms

2021-12-23

QT下实现图片的自适应显示、缩放(以鼠标位置为中心进行缩放)、拖动、以及重置并截图保存

可自适应显示图片,以鼠标位置为中心进行缩放,按住鼠标左键进行图片拖动,可添加截图方框并截图保存,可载入显示大部分tif格式的图,可显示伪彩,灰度图

2021-12-22

qt编写的点云显示工具可拖动缩放旋转

QGLWidget实现的点云显示工具,按住鼠标左键移动可实现旋转,按住鼠标右键移动可实现点云的拖动,滚动滚轮实现点云的缩放。开发环境:qtcreator4.8.2, qt版本5.12.2

2021-12-21

qt实现数据转灰度图及伪彩图

本例子将800*600的double类型的数据先进行归一化成0-255的quint8类型的数据,然后将归一化后的数据生成一个QImage,然后将qimage放到qlabel中显示,可以切换灰度图或伪彩图

2021-07-14

qt实现windows下屏幕录制

功能: 1.最高支持1080P 24帧率高清录制 2.支持特定屏幕区域录制 3.支持录屏质量修改,质量越高,录制单位时间生成的avi文件越大 4.支持帧率选择,最高24帧每秒 5.增加自动分割avi文件功能,在24帧每秒录制的设置下,每个avi文件时长1分钟 6.通过多线程将保存文件和截取桌面分开处理,从而提高录频效率 7.通过使用windows自带的设备DC来截取桌面,提高截屏效率 注意点: 1.建议使用release模式运行,因为debug模式下,运行效率会降低,导致保存的avi文件实际帧率和你设置的帧率不同,播放的时候感觉就像在快进一样。 2.如果你的电脑配置相当牛逼,你可以将帧率设置的更高一点。 3.如果你电脑的存图的速度比截屏速度慢的话,点击结束录频按钮之后会需要等待一定时间来完成前期滞留图片的保存 原文链接:https://blog.csdn.net/weixin_43935474/article/details/117074885 可加我WX技术交流:13382893223

2021-05-20

TestHDC.zip

qt程序按下Ctrl键获取鼠标所在位置的颜色并显示

2021-05-13

实现visionpro矩形直线圆形卡尺控件.rar

通过重写QGraphicsItem实现visionpro中的矩形、直线、圆形卡尺控件。 矩形卡尺可以拖动、缩放、旋转、斜切 直线卡尺可任意拖动拉伸直线、设置矩形个数、缩放、斜切矩形 圆形卡尺可任意拖动拉伸圆弧、补全圆、设置矩形个数、缩放矩形

2020-08-06

拖动旋转缩放椭圆和矩形.rar

通过重写QGraphicItem实现了绘制,拖动、旋转、缩放矩形和椭圆,避免了绘制过程中的重影,避免了缩放之后旋转偏移的问题,避免了旋转椭圆之后无法缩放的问题

2020-07-03

moveGraphicItem.rar

本例程通过重写了一个继承自qgraphicitem的类,实现了绘制、拖动、旋转、缩放矩形,难点在于旋转之后,按住边框进行缩放的功能

2020-06-30

重写QLabel实现图片显示框选截取保存.rar

通过重写QLabel的方式来实现图片的显示,框选,保存。 支持多次框选,并且能够批量保存。 界面显示的时候,显示的是原图大小,如果图片太大,则可以通过移动滚动条来改变显示区域

2020-06-10

QT生成带界面的dll给c#调用

本资源包括4个文件夹,myQtMainWindowDll文件夹里面是qt的工程文件;build-qtdll-Desktop_Qt_5_12_2_MSVC2015_64bit-Release文件夹是qt编译生成的文件夹;QtReleaseDll文件夹里面是最重要的qtdialog.dll以及他所依赖的所有的库;CsharpUseQtDll文件夹里面是c#工程。 具体使用细节参见我的博客:https://blog.csdn.net/weixin_43935474/article/details/105531814

2020-04-23

myShowPicTool.rar

功能: 1.能打开并显示所有QImage能识别的图片格式文件 2.能缩放,拖动图片,Ctrl+右击还原到适应窗口大小 3.右击可弹出菜单栏,菜单包括:适应宽度,适应窗口,原图大小,截图保存,批量重命名 4.适应宽度的状态下,只能上下拖动图片 5.左右方向键或者A和D键控制前后图片切换 6.记录上一次关闭窗口时,窗口的位置和大小,并在下一次打开的时候按照该位置和大小显示窗口 7.能接收拖动图片或者文件夹到本软件界面,并显示文件夹中的所有图片文件 8.增加批量重命名的功能 9.标题栏显示当前图片的路径 10.界面增加半透明的切换图片按钮

2020-03-14

qt重写paintEvent实现鼠标拖动绘制直线、矩形和圆

要在界面上按下鼠标,拖动之后松开鼠标,然后就在界面上绘制出了线、矩形和圆形 代码用了抽象的概念,将三种图形抽象成了一个myShape,在代码中的体现就是定义了一个基类myShape类,其他所有的图像类都继承自这个基类,然后在每个子类中都添加了drawShape()方法,这样在界面的paintEvent(QPaintEvent *event)方法中绘图的时候就不需要分各种图形来单独绘制了

2020-03-09

qt实现右击鼠标弹出菜单

本工程实现了qt开发的界面上,右击鼠标弹出菜单,并在点击菜单后弹出提示框。 是个适合初学者的小例子。 用到了重写鼠标响应事件 解决了中文显示为乱码的问题

2020-03-07

重绘ColorDialog实现显示位置设置并在WPF中使用.zip

在C#程序中如果直接用ColorDialog来实现颜色挑选功能的话,会有个问题,就是ColorDialog显示的位置永远都是屏幕居中的位置,并且这个类没有提供任何函数来改变其显示位置,这是个大坑。 这个工程中包含一个重绘ColorDialog,实现了其显示位置的设定

2020-02-04

wpf通过代码动态生成Label并通过ColorDialog修改颜色.zip

WPF工程,通过代码动态生成Label,并且label的位置根据界面的大小来确定,个数根据用户输入的个数来确定。 同时双击label之后会跳出ColorDialog界面,通过的ColorDialog中选中的颜色来修改label中的颜色

2020-02-03

qt使用对数坐标显示曲线的例子

在某些情况下,我们用qchart显示曲线的时候,线性坐标没法帮我们更直观的分析数据,比如曲线中有少部分数据值很大在1000左右,然后绝大部分值都很小,在10以内,然后y坐标范围是0到1000的话,那么我们看到的曲线会都坨在底部,无法直观查看10以内的数据,这时候用对数坐标就比较合适。1.初始化QChart,初始化QChartView 2.通过QChartView::setChart(QChart *chart)来设置QChart,3.初始化QLogValueAxis作为纵坐标并设置坐标轴范围,初始化QValueAxis作为横坐标并设置坐标轴范围,4.通过QChart::addAxis(QAbstractAxis *axis, Qt::Alignment alignment)将2个坐标轴添加到QChart中,5.初始化曲线QLineSeries,并将数据塞进曲线中,6.通过QChart::addSeries(QAbstractSeries *series)将曲线放进QChart中,7.通过QAbstractSeries::attachAxis(QAbstractAxis *axis)

2024-09-14

QT编写的视频播放器,可播放所有主流格式的视频 可加载srt字幕,兼容多种编码格式的srt文件

1.电脑中将视频的默认打开方式设置成本软件后,可双击视频直接调用本软件播放。 2.软件界面有打开,暂停,进度条,播放时间,最大化,最小化等按钮或label的显示 3.双击标题栏可最大化或还原界面,可在对应显示器最大化或还原,拖动标题栏移动窗口 4.可拉动边界缩放界面大小,最小可缩小到100*100像素 5.按住Ctrl+S键,可截图当前画面保存到视频所在目录下 6.按住Shift+→键,可快进20ms,Shift+←键,后退20ms,按D或者→可前进1s,按A或者←可后退1s 7.本次打开软件后,所有拖进界面的视频都被记录在内存列表中,按住Shift+>键,可切换到下一个视频,按住Shift+<键,可切换上一个视频 8.双击界面任意播放区域可暂停播放 9.打开视频文件后,程序自动检索视频文件所在文件夹内是否有与本文件同名的.srt文件,如果有则将其作为字幕文件载入解析,并在播放视屏时,自动播放字幕。 10.解析.srt文件时,兼容UTF16LE,UTF16BE,UTF8,UTF8BOM这4种编码格式的文件。

2023-11-22

qt编写的窗口多开图片显示器

本程序可打开多张图片的时候,自动为每一张图片打开新的窗口来显示图像,每个窗口都能拖动、缩放图片、并显示鼠标悬停位置的RGB像素值。如果是16位深的灰度图,则可以显示鼠标悬停位置实际的灰度值。 程序支持从文件夹将图片拖进本窗口并显示。 每个窗口支持自适应窗口显示、自适应宽度显示、按实际图片大小显示。

2023-11-20

Qt编写的能显示16位深tiff图像并能查看每个像素的实际灰度值的图片查看器

本程序可以打开并显示16位深的tiff图及其他常用格式的图片(jpg,png,bmp等) 可通过拖动1至多张图片进入程序界面后自动显示第一张图,并支持左右切换显示其他图片。用户可通过鼠标拖动、缩放图片,并在鼠标悬停的位置显示所在像素的RGB值,如果是12位深的图,则会另外显示其实际灰度值。

2023-11-20

载入并显示图片,并可将图片转换成灰度图和伪彩图显示

软件提供载入图片功能,显示在界面右侧,用户可点击切换灰度图、切换伪彩图来显示相应的图片。 转伪彩图时,使用的是自定义的颜色表。

2023-08-19

qt编写的视频播放器,带截图功能

开发环境: QtCreator4.11.1 Qt版本5.14.1 系统win10 1.电脑中将视频的默认打开方式设置成本软件后,可双击视频直接调用本软件播放。 2.软件界面有打开,暂停,进度条,播放时间,最大化,最小化等按钮或label的显示 3.双击标题栏可最大化或还原界面,可在对应显示器最大化或还原,拖动标题栏移动窗口 4.可拉动边界缩放界面大小,最小可缩小到100*100像素 5.按住Ctrl+S键,可截图当前画面保存到视频所在目录下 6.按住Shift+>键,可快进20ms,Shift+<键,后退20ms,按D或者→可前进1s,按A或者←可后退1s

2023-04-20

用qt编写的视频播放器,精致小巧好用,上班摸鱼必备

qtCreator4.11.1,qt版本5.14.1,系统win10 1.基于qt自带的QMediaPlayer和QVideoWidget类编写 2.有暂停播放功能、视频进度条拉动功能,最大化、最小化、还原功能 3.按住界面上、下、左、右、右下的边界,可实现拉伸缩放软件窗口,窗口最小可缩小致100*100像素。 4.无论当前界面是最大化还是正常大小,若鼠标不在窗口内,可自动隐藏标题栏,进度条,播放暂停等所有界面按钮,实现整个界面只有视频画面,没有任何影响观影的按钮等控件! 注意!请在编译运行本程序前,安装K-Lite解码器(资源压缩包内就有),因为qt自带的QMediaPlayer类是基于本地解码器来解码播放视屏的,如果不安装解码器,会出现视频无法播放或者播放时卡顿花屏等问题!!!

2023-04-17

Qt编写的精致、无广告、好用的图片查看器,看照片、漫画、gif动图必备

这个图片查看器功能很多: 1.能打开并显示所有常用图片格式文件 2.能缩放,拖动图片,可以以鼠标为中心滚动滚轮进行缩放 3.右击可弹出菜单栏,菜单包括:适应宽度,适应窗口,原图大小,截图保存 4.实现幻灯片播放,可设置幻灯片间隔时间 5.左右方向键或者A和D键控制前后图片切换 6.记录上一次关闭窗口时,窗口的位置和大小,并在下一次打开的时候按照该位置和大小显示窗口 7.能接收拖动图片或者文件夹到本软件界面,并显示文件夹中的所有图片文件 8.增加批量重命名另存的功能 9.在适应宽度模式下,滚动滚轮可上下移动图片 10.显示鼠标位置的RGB值及坐标位置 11.可查看gif文件 12.查看gif时,gif图像自适应当前界面大小 13.实现双击title最大化/还原窗口大小 14.多显示器时,实现在程序所在的显示器最大化/还原窗口

2023-04-13

Qt模仿visionpro实现在树中显示算子输入输出关系显示,通过重新QTreewidget实现,拖动item算子输入输出关系

在qtreewieget中实现右击菜单,用qtreewidget模仿visionpro实现算子输入输出关系显示,拖动Item变换当前位置或绑定输入输出关系,拖动item移动算子位置同时更新输入输出箭头位置,实现按住Ctrl+F键来搜索算子名,若搜索到,则高亮显示。详见链接:https://blog.csdn.net/weixin_43935474/article/details/130013613?spm=1001.2014.3001.5501

2023-04-07

qt实现切换语种功能,qt语言专家的使用例程

本例程是个使用qt语言专家实现的切换显示语种的功能,具体教程参见我的博客:手把手教你使用QT语言专家实现切换软件语种的功能(QT自带的语言翻译功能) https://blog.csdn.net/weixin_43935474/article/details/129684564?spm=1001.2014.3001.5502

2023-03-23

qt编写的查看并导出gif的每一张图片

可查看gif,可选择自适应显示或原图大小显示,可拖动gif到软件界面并显示,可幻灯片播放gif,可左右键切换上一张,下一张gif图,可导出当前gif文件中的每一帧并另存到指定文件夹

2022-10-28

qt多功能图片及动画查看工具(jpg,jpeg,png,bmp,gif)

能打开并显示所有常用图片格式文件,缩放,拖动图片,可以以鼠标为中心滚动滚轮进行缩放,右击菜单:适应宽度,适应窗口,原图大小,截图保存,幻灯片播放可设置幻灯片间隔时间,查看gif时,gif图像自适应当前界面大小

2022-10-26

手把手教你用qt链接sqlserver数据库

手把手教你用qt链接sqlserver数据库 具体教程参见https://blog.csdn.net/weixin_43935474/article/details/125619293?spm=1001.2014.3001.5501 系统:win10 sqlserver版本:sqlserver2014 qt版本:5.14.1 Qt Creator版本:4.11.1 编译器选择MSVC 2017

2022-07-06

sqlserver2014安装包第二部分,一共两部分!第一部分我也上传了!

sqlserver2014安装包第二部分,一共两部分!第一部分链接:https://download.csdn.net/download/weixin_43935474/85906988

2022-07-05

sqlserver2014安装包第一部分,一共两部分!第二部分我也上传了!

sqlserver2014安装包第一部分,一共两部分!第二部分链接:https://download.csdn.net/download/weixin_43935474/85907002

2022-07-05

qt绘制网络拓补图(连接数据库,无限绘制,可拖动节点)

连接sqlserver数据库获取所有节点数据,通过递归函数解析出每个节点之间的关系,计算每个节点的位置,可无限绘制。我把代码中连接数据库的部分禁用了,如果你会用sqlserver,可以把connectSqlServer();放开,记得配置数据库表

2022-07-02

 用qt编写的模仿visionpro的mask遮罩工具

1.可控制遮罩绘制时候是起始和终止点是矩形还是圆形 2.可控制遮罩颜色,用户自定义 3.可控制遮罩线条粗细,1~150像素范围内 4.可控制遮罩当前是绘图还是移动图片模式 5.添加橡皮擦功能 6.release模式下,20M以内的图绘制和移动不会卡顿

2022-06-20

qt开发的有界面的简易对战游戏——斗罗大PK(可用作c,c++课程设计)

《斗罗大PK》有 6 位英雄,每位英雄拥有数量不同的 3 种招数,招数使用 数量耗尽之后就不能再使用。 三种招数分别为:剪刀、石头、布; 招数相克关系:剪刀克布,布克石头,石头克剪刀。 游戏开始时,由玩家选取三位己方英雄,对阵电脑随机选取的三位英雄,采取以下模式进行游戏: 第一步:对方在三位英雄中随机选取一位,随机出招(招数可使用数量不为 0),对应可用招数数量-1; 第二步:我方选取一位英雄,英雄随机出招,对应可用招数数量-1; 第三步:如我方胜,我方胜利次数加 1,否则对方胜利次数加 1; 第四步:如果总次数<9则跳回第一步,否则本场游戏结束,跳到第五步; 第五步:统计我方和对方胜利场数。 游戏特点: 1.一局结束后可重新开局; 2.将每场游戏双方英雄的出招情况记录在文件中; 3.要有玩家注册功能,需判定用户名是否已经注册过; 4.登录时需要判定用户名是否有效,密码是否正确; 5.变量、函数命名规范; 6.注释详细; 7.代码可读性强; 8.界面美观,交互方便。

2022-06-09

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备

在开发过程中,随着添加的类越来越多,我们的qtcreator界面左侧的项目导航栏中的文件越来越多,越来越让人看得眼花,当你的项目工程特别大,文件数量特别多的时候,如果还是这样所有文件都堆在一起的话,想要找某个文件就变得非常困难,极大地影响开发效率。这时候就可以用到pri文件。 Qt开发大型项目时,通过.pri文件,我们可以将众多文件按功能模块分类显示,后期我们要维护代码的时候,要找某个功能的代码,就可以先找到对应功能模块的目录,然后在该目录下找对应的类文件即可。 该项目就是一个使用pri文件分类的小例子。

2022-05-17

qt实现程序密钥注册功能,并实现一台电脑系统一个密钥

需要被注册的软件keydemo.exe第一次运行时,在系统的注册表里注册一个键值,该值作为生成密钥的用户识别号,然后用keytool.exe软件生成密钥文件key.db,把这个key.db文件放到keydemo.exe软件同级目录下,即可完成keydemo.exe软件的注册

2022-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除