下编lazarus qt5 qt
QT MVC开发模式
一、简单介绍 今天我来记录一下在Qt中使用MVC模式进行开发的过程。MVC(Model-View-Controller)是一种常见的软件架构模式,用于将应用程序的逻辑和用户界面分离开来。在Qt中,使用MVC模式可以大大提高应用程序的可维护性和可扩展性。通过将应用程序的逻辑和用户界面分离开来,可以更轻 ......
Qt音视频开发38-ffmpeg视频暂停录制的设计
一、前言 基本上各种播放器提供的录制视频接口,都是只有开始录制和结束录制两个,当然一般用的最多的也是这两个接口,但是实际使用过程中,还有一种可能需要中途暂停录制,暂停以后再次继续录制,将中间部分视频不需要录制,跳过这部分不需要的视频,而且录制的视频文件必须是能够正常播放的连续的。vlc和mpv都只提 ......
Qt5.15.0 升级至 Qt5.15.9 遇到的一些错误
按照之前我写的文章教程,可以很简单的编译出静态库(仅供学习交流) 编译 windows 上的 qt 静态库 编译出静态库后,替换旧版本的库,见我另一篇文章教程 VS2019 配置 QT 库 之所以没有直接上 Qt6.0 以上的版本,是因为 Qt6.0 对比 Qt5 删减了不少东西(我之前已经测试过了 ......
【Qt】ubuntu18.04 qtcreator点击图标打不开,缺少GLIBC_2.28
遇到的问题是点击qtcreator的图标打不开,像其他qt相关的软件可以 然后从安装目录下../Tools/QtCreator/bin运行./qtcreator出现报错: ./qtcreator: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.2 ......
Qt 连接 mysql 报错 QSqlDatabase: MYSQL driver not loaded
参考: https://blog.csdn.net/o___GRoot/article/details/111320313 https://blog.csdn.net/sksukai/article/details/105344308 我的解决步骤: 1. 指定qmake qmake: could ......
Qt5.9 UI设计(七)——统一样式设计
前言 前面已经将UI设计部分实现,各页面也做了最简单的设计,本章介绍一下qss样式的使用。样式设计最终的显示效果如下图: 操作步骤 将stylesheet.qss 样式文件添加进工程 stylesheet.qss 内容如下: /********************** MainWindow St ......
Qt5.9 UI设计(六)——TitleBar功能实现
前言 上一章介绍了ControlTreeWidget 与ControlTabWidget联动的功能,这一章我们将实现自定义 TitleBar 的功能 操作步骤 修改按键图标最大和最小值 右键按键图标,转到对应的槽函数中去 对应的槽函数的实现如下: void MainTitleBar::on_push ......
Qt5.9 UI设计(三)——添加UI、类及资源文件
前言 设计一个软件,最简单的方式就是把控件直接往UI上放,然后再把功能实现了。这样可以实现基本的功能,但是界面不能缩放,如果拖动软件改变界面的大小,界面上的控件就会乱成一团,或者是界面的控件压根就不会跟着界面的大小进行改变。 要使界面上的所有控件都随着界面的变化而变化,做到自适应,这就需要使用到界面 ......
Qt5.9 UI设计(四)——布局设计及自定义界面
前言 前面我们已经创建了mainwindow ControlTabWidget ControlTreeWidget maintitlebar 4个UI几面,我们需要将其他三个UI放置到mainwindow显示,同时需要它们可以自适应的界面的大小缩放。这里会使用到水平布局和垂直布局方法。 (一)主界面 ......
Qt5.9 UI设计(五)——将Tabwidget与treeWidget相互关联
前言 前面一章介绍了ControlTabWidget ControlTreeWidget maintitlebar 三个子页面同时布局到 mainwindow 的方法,本章介绍如何将ControlTreeWidget 与ControlTabWidget 联动。 (一)TabWidget子页面实现 在 ......
Qt5.9 UI设计(二)——最简Qt工程搭建
前言 前面一章已经介绍了QT的开发环境的安装,这里介绍一下一个最简工程的搭建 操作步骤 新建项目 选择带界面的Qt Widgets Application 设置项目位置 注意这里的目录不能有中文路径 我这里设置的是:D:\QT\Qt_demo 选择编译工具,我们这里只安装了MinGW,所以只有一个选 ......
Qt5.9 UI设计(一)——在win10系统上安装Qt5.9
##安装环境 win10 系统 Qt5.9.0 版本 官方下载地址 可以从官方网站获取:https://www.qt.io/zh-cn/ 现在的安装包跟以前的有些区别,加上网络比较慢,我这里演示的是Qt5.9.0 版本的安装 安装步骤 直接双击qt-opensource-windows-x86-5. ......
Qt程序CPU过高怎么定位解决?Qt程序性能优化
自己开发的一个程序采用多线程调用url从网络上下载股票数据,一旦开启程序就特别的卡;想着优化一下;授之于鱼,不如 授之以渔; 1.CPU过高排查方法 (1)打开vs的性能探测器; (2)勾选CPU,然后点击开始按钮 (3)运行一段时间后,点击停止,分析一会会出现下面的CPU使用报告 (4)根据这个报 ......
从零编译 Qt 源码
写在前头 为了保证流程可复现,本文档展示的编译全过程在 Windows 10 提供的沙盒中进行。 Linux 安装 Qt 想必都不会有什么问题,所以本文讲的其实是 Windows 上如何从零编译 Qt 源码。此处的 Qt 源码指的是 Qt 这个第三库本身,所以想找怎么编译自己写的 Qt 项目的可以到 ......
QT中使用QtCipherSqlitePlugin
1.下载QtCipherSqlitePluginhttps://github.com/devbean/QtCipherSqlitePlugin2.利用QT Creator编译QtCipherSqlitePlugin应用QT Creator打开QtCipherSqlitePlugin.pro,然后利用 ......
Qt 编程中 namespace Ui { class Widget; } 解析
文章目录 本博文的简述or解决问题? 理解一: 1、新建Qt 设计师界面类 dialog.h dialog.cpp ui_dialog.h 2、分析代码 3、Ui 创建两种不同的方式 4、pImpl的原理 理解二: Qt 编程中 namespace Ui { class Widget; } 解析 用 ......
ubuntu安装qt
apt命令安装 (下文建立在读者有一定linux命令使用经验和qt使用经验的基础) 在此之前进行了比较多的安装方式,包括官网下载,发现太慢转为了清华镜像源下载,两种安装方式得到的包都是一样的,最后还是进行了apt命令安装,这样会更简单方便。 sudo apt install qtcreator 安装 ......
QT 计算两个日期时间差?(时间转时间戳)
时间戳时间转换工具 时间换算工具 1、得出的结果单位是:天(不足一天为0,没有半天的说法) QDateTime time1 = QDateTime::fromString("2022-4-25 16:40:02", "yyyy-MM-dd HH:mm:ss"); QDateTime time2 = ......
Qt之QTableWidget的使用
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QtWidgets> #include <QDebug> #include <QJsonArray> #include <QJsonObject> #include <QJsonValue> #i ......
Qt音视频开发37-识别鼠标按下像素坐标
一、前言 在和视频交互过程中,用户一般需要在显示视频的通道上点击对应的区域,弹出对应的操作按钮,将当前点击的区域或者绘制的多边形区域坐标或者坐标点集合,发送出去,通知其他设备进行处理。比如识别到很多人脸,用户单击某个人脸后指定对该人脸进行详细的信息查询等;再比如圈出某个区域发给人工智能处理设备,对指 ......
QT多个按钮信号绑定同一个槽函数,执行不同业务逻辑
界面如果包含多个按钮,每个按钮都创建一个槽函数,这样会这代码看起来比较冗杂,我们可以让多个按钮共用一个槽函数,然后去执行不同的功能。 一、ObjectName 通过setObjectName()在定义button处先设置ObjectName,后在槽函数中判断按钮的名称。然后根据按钮的名称从而实现不同 ......
Qt——.pro文件及详细说明
使用过QT框架进行项目开发的小伙伴,也许都知道.pro文件, 但文件里面的具体配置方式可能比较模糊。本文将详细说明文件里各配置项的含义,并对其编写方法进行归纳总结,以便各位读者可以在未来的项目开发中快速而准确地编写.pro文件。 1.配置项详细说明 注释:注释是从一行的#开始,到这一行的结束。 QT ......
Qt编写推流综合应用示例-文件推流
一、功能特点 1.1 文件推流 指定网卡和监听端口,接收网络请求推送音视频等各种文件。 实时统计显示每个文件对应的访问数量、总访问数量、不同IP地址访问数量。 可指定多种模式,0-直接播放、1-下载播放。 实时打印显示各种收发请求和应答数据。 每个文件对应MD5加密的唯一标识符,用于请求地址后缀区分 ......
Qt for Android QtQuick应用程序 USB连接手机调试运行错误:adb: failed to *.apk: No such file or directory
1.场景 Windows11、Qt6.5.0QtQuick应用程序USB连接手机调试运行。 2.错误信息 adb: failed to *.apk: No such file or directoryInstalling to device failed!进程"C:\Users\Administra ......
Qt 数据的进制转换:二进制、十进制和十六进制
将一个整数转换为不同进制的字符串,可以使用QString的函数setNum()或静态函数number(),函数原型为: 1 QString &setNum(int n,int base=10) 2 QString number(int n,int base=10) 其中n是待转换的整数,base是使 ......
Qt 16进制和10进制之间的转换
一、16转换为10进制。1、数字转换为字符串 1 quint8 Hex = 0x0F; 2 QString num = QString("%1").arg(Hex,0,10); 3 //QString num = QString::number(Hex,10); 2、数字转换为数字 1 quint8 ......
Qt音视频开发36-超时检测和自动重连的设计
一、前言 如果网络环境正常设备正常,视频监控系统一般都是按照正常运行下去,不会出现什么问题,但是实际情况会很不同,奇奇怪怪七七八八的问题都会出现,就比如网络出了问题都有很多情况(交换机故障、网线故障、带宽故障等),所以监控系统在运行过程中,还得做超时检测,超过规定的时间没有收到数据则认为掉线了,需要 ......
Qt-FFmpeg开发-实现录屏功能(10)
> 1. 抓取桌面图像转码后保存到本地视频文件中;
> 2. 支持各种常见视频文件类型;
> 3. 支持Windows、Linux录屏功能;
> 4. 支持全屏录制功能、录制指定区域功能;
> 4. 默认将录制视频保存到系统的... ......