下编lazarus qt5 qt

C++ Qt开发:使用关联容器类

当我们谈论编程中的数据结构时,顺序容器是不可忽视的一个重要概念。顺序容器是一种能够按照元素添加的顺序来存储和检索数据的数据结构。它们提供了简单而直观的方式来组织和管理数据,为程序员提供了灵活性和性能的平衡。Qt 中提供了丰富的容器类,用于方便地管理和操作数据。这些容器类涵盖了各种不同的用途,从简单的... ......
容器

C++ Qt开发:使用顺序容器类

当我们谈论编程中的数据结构时,顺序容器是不可忽视的一个重要概念。顺序容器是一种能够按照元素添加的顺序来存储和检索数据的数据结构。它们提供了简单而直观的方式来组织和管理数据,为程序员提供了灵活性和性能的平衡。Qt 中提供了丰富的容器类,用于方便地管理和操作数据。这些容器类涵盖了各种不同的用途,从简单的... ......
容器 顺序

基于Qt的Live2D模型显示以及控制

基于Qt的Live2D模型显示以及控制 基本说明 Live2D官方提供有控制Live2D模型的SDK,而且还提供了一个基于OpenGL的C++项目Example,我们可以基于该项目改成Qt的项目,做一个桌面端的Live2D桌宠程序。 官方例子 经过改造效果如下图所示。 官方项目配置 下载官方提供的S ......
模型 Live2D Live2 Live 2D

C++ Qt开发:字符串QString容器

在Qt框架中,`QString` 是一个强大而灵活的字符串容器,专为处理 `Unicode` 字符而设计。它提供了许多方便的方法来操作和处理字符串,使得在跨平台开发中能够轻松地进行文本操作。QString 是 Qt 开发中不可或缺的一部分,它的灵活性和强大的功能使其成为处理文本和字符串操作的理想选择... ......
字符串 容器 字符 QString

Qt并行计算

比如QVector中所有元素+1,可以用并行计算。 QtConcurrent::map():将一个函数应用于一个容器中的每一项,就地修改 items。 void add(int &num) { num +=1; } { QVector<int> vector; for(int i=0; i<3; i ......

C++ Qt开发:Qt的安装与配置

Qt是一种C++编程框架,用于构建图形用户界面(GUI)应用程序和嵌入式系统。Qt由Qt公司(前身为Nokia)开发,提供了一套跨平台的工具和类库,使开发者能够轻松地创建高效、美观、可扩展的应用程序。其被广泛用于开发桌面应用程序、嵌入式系统、移动应用程序等。无论是初学者还是经验丰富的开发者,Qt都为... ......

Qt6 c++教程2 Qt Creator简介

2 Qt Creator简介 Qt Creator是Qt自带的集成开发环境(IDE),用于跨平台应用程序开发。在本章中,您将学习Qt Creator集成开发环境的基础知识,并了解集成开发环境的用户界面 (UI)。我们还将了解如何在 Qt Creator中创建和管理项目。本Qt 模块包括使用Qt Cr ......
Creator 简介 教程 Qt Qt6

Qt同步、异步

【同步、异步】 同步意味着事件、操作或进程是有序的,一个操作必须在另一个操作完成后开始执行。当多线程时通过锁、信号量等机制来确保数据一致性或避免竞争条件。 异步则意味着事件、操作或进程是独立的,可以在不等待其他操作完成的情况下开始执行。一定是多线程。 参考:理清概念:同步与异步_同步异步-CSDN博 ......

vs 工程添加QT Property

右键 project name , 选择 unload project 双击 工程名称 ,会打 【开工程名.vcxproj】文件 找到文件中的 PropertyGroup Label="Globals" <PropertyGroup Label="Globals"> <ProjectGuid>{A6 ......
Property 工程 vs

qt RGB565 转rgb

define RGB565_MASK_RED 0xF800 define RGB565_MASK_GREEN 0x07E0 define RGB565_MASK_BLUE 0x001F uint8_t Rgb565ToRgb888(uint16_t rgb565) { uint8_t rgb24[3 ......
RGB 565 rgb qt

Qt小知识1.Q_DECLARE_METATYPE和qRegisterMetaType

1 了解Q_DECLARE_METATYPE Q_DECLARE_METATYPE 是一个Qt宏,用以通知Qt的反射系统关于自定义类型的存在。当使用此宏声明一个类型后,该类型可以在QVariant中使用。QVariant是Qt中用于存储可以包含任意类型的一个“通用”值容器。 Qt 元对象系统不知道非 ......

Qt显示OpenCV的单通道图片

一、概述 Qt中显示OpenCV的图片。OpenCV中的Mat默认是3通道图片。但是其灰度图、二值图片会是8位单通道的。 示例代码中记录了如何显示 二、代码示例 #include "ImageUtils.h" Mat ImageUtils::qImageToMat(QImage qImage) {/ ......
OpenCV 图片

Qt给自定义组件的子组件设置回调函数

一、概述 Qt的界面不管是用纯的代码编写,还是用可视化界面编写,其友好度相对来说是比较差的。所以一有空就定义一些小的组件供后续使用时一个好的习惯。 这不,活来了。 需求:借助QSlider、QLineEdit、QPushButton、QLabel定义一些常用的小组件。效果图如下。ps:其中红框,框出 ......
组件 函数

vcpkg 包管理在Clion 和 Qt中的使用

在使用C++的过程中,发现了一个强大的包管理器,以后再也不用自己去单独编译某个C++的外部插件了。下面说一下教程: 安装好 git后,直接在 D:\Plugins\develop 目录下克隆一个vcpkg的目录 git clone https://github.com/microsoft/vcpkg ......
vcpkg Clion

13、QT窗口API函数基础知识

QT窗口API函数 geometry() 用于获取窗口在屏幕上的几何位置和大小 QRect geo = widget->geometry(); int x = geo.x(); // 窗口左上角的 x 坐标 int y = geo.y(); // 窗口左上角的 y 坐标 int w = geo.wi ......
基础知识 函数 基础 知识 API

12、QT自定义消息框

#include "dialog.h" Dialog::Dialog(QWidget *parent) : QDialog(parent) { resize(260,80); glayout = new QGridLayout(this); labelmsg=new QLabel("自定义消息框") ......
消息

Qt/C++音视频开发58-逐帧播放/上一帧下一帧/切换播放进度/实时解码

一、前言 逐帧播放是近期增加的功能,之前也一直思考过这个功能该如何实现,对于mdk/qtav等内核组件,可以直接用该组件提供的接口实现即可,而对于ffmpeg,需要自己处理,如果有缓存的数据的话,可以通过在缓存中的数据往前移动往后移动即可。这样就要求做一个比较大的缓存队列,占用一定的内存是肯定的。为 ......
进度 实时 Qt 58

Qt6 c++教程1简介

1 Qt6简介 Qt一个跨平台应用程序开发框架,旨在为桌面、嵌入式和移动平台创建具有统一用户界面(UI)的优秀软件应用程序。它为开发人员设计和构建优秀应用程序提供了一套强大的工具,而无需担心平台依赖性。 本章主要内容: Qt介绍 使用Qt的原因 下载和安装Qt 从源代码构建 Qt6 1.1 Qt简介 ......
简介 教程 Qt6 Qt

QT最小化程序到托盘运行

MinTray 说明 实现程序关闭时最小化托盘的功能 托盘实现显示主页面和退出的功能 支持扩展,直接引用TrayIcon类即可,对外暴露接口 单例实现,可复用 警告 注:博主所有资源永久免费,若有帮助,请点赞转发是对我莫大的帮助 注:博主本人学习过程的分享,引用他人的文章皆会标注原作者 注:本人文章 ......
托盘 程序

记录——Qt Qcreator 顶部菜单栏的隐藏与恢复

问题 我有一个朋友,手残点击了 QCreator 中视图下的这个玩意儿: 当人的眼神不好时,可能不会看到这些快捷键以及无视这些弹窗。 解决方案 快捷键 ctrl + alt + M 可恢复或者隐藏顶部工具菜单栏 ......
Qcreator 顶部 菜单

深入理解和实现Qt中的单例模式

在Qt框架中,单例模式的实现是一个常见的需求,它有多种实现方式,每种都有其特点。以下是对这些方法的探讨,包括宏定义方式、模板类方式,以及Qt的内置单例宏,并附有具体的使用示例。 宏定义方式的单例模式 宏定义方式是一种传统且直接的实现单例模式的方法,但它可能导致代码重复和类型安全性问题。以下是一个宏定 ......
模式

Qt/C++视频监控拉流显示/各种rtsp/rtmp/http视频流/摄像头采集/视频监控回放/录像存储

一、前言 本视频播放组件陆陆续续写了6年多,一直在持续更新迭代,视频监控行业客户端软件开发首要需求就是拉流显示,比如给定一个rtsp视频流地址,你需要在软件上显示实时画面,其次就是录像保存,再次就是一些周边的处理比如贴OSD,做图片分析等。拉流显示是第一步,如果有跨平台的需求,个人推荐用ffmpeg ......

QT学习笔记-QTimer

官方解释: The QTimer class provides repetitive and single-shot timers 这个类提供了可重复的和单次的定时器。 QTimer类为定时器提供了高级编程接口。 使用: 创建一个QTimer 将timeout()信号连接到适当的槽,然后调用star ......
笔记 QTimer

c++ json的解析和QT中json的操作

1.下载jsoncpp源码 2.首先建议jsoncpp源码编译成动态库 https://www.bilibili.com/video/BV1pb4y1W7ZZ https://www.bilibili.com/video/BV1Ra4y1e7gL (1) 用QT的Cmake工具 (2)用Visual ......
json

QT学习笔记-信号与槽(干货)

一、什么是信号和槽(Signal and Slot) 可以和进程间通信的信号机制联系。 signal(信号,信号处理函数) // 进程间的通信方式 其中,该函数的作用就是接收到【信号】后应该做什么样的处理【信号处理函数】。 对应到QT中,信号就还是信号,槽函数就对应了信号处理函数。 举个例子: 窗口 ......
干货 信号 笔记

Linux下编译安装python

1安装依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-dev ......
下编 python Linux

Windows 缺失Qt5.xxxx.dll,无法继续执行代码

事件起因: 客户自行安装完Autodesk系软件后, 软件一直弹窗报错 AutodDesktopApp.exe - 系统错误 Windows软件报错:由于找不到Qt5.xxxx.dll,无法继续执行代码,重新安装程序可以能会解决此问题 解决办法: 在已经使用 DirectXRepair修复软件修复过 ......
缺失 Windows 代码 xxxx Qt5

Qt - macOS上实现Qt应用程序做文件关联打开

一、背景介绍 用Qt开发的应用程序要实现文件关联,双击时用默认关联的程序打开文件,在Windows上这个功能非常容易实现。Windows应用程序在安装的时候可以在注册表中写入相关的键值对。打开文件的时候,Windows Explorer会将文件完整的路径作为参数传递给关联的应用程序。这样就可以在启动 ......
应用程序 文件 程序 macOS Qt

Qt/C++音视频开发57-切换音视频轨道/切换节目流/分别切换音频视频轨道

一、前言 对各种音视频文件格式的支持,是一个播放器的基础功能。一般的音视频文件只有1路流,比如音频文件只有1路音频流,视频文件只有1路音频1路视频流,实践过程中发现,还有一种ts格式的文件,可能有多路流,这种格式一般是将多路节目流封装到一个文件中,用户可以根据自己的需要切换不同的节目,比如CCTV1 ......
轨道 音频视频 音频 节目 视频

Qt中QStyledItemDelegate的使用(二)

延续上一篇文章。本文给出了一个QStyledItemDelegate类自定义绘制加自定义编辑框的例子。为方便读者理清思路,我已经尽量简化本文附加的代码了。此程序模拟用户给出星级评价的效果,在编辑状态下用户可以设置0~5个星星的评价,在普通状态下界面显示对应数量的金黄色星星。本文代码在VS2017和Q ......
QStyledItemDelegate