qt专题

C++ QT设计模式 (第二版)

第3章 Qt简介                 3.2 Qt核心模块         Qt是一个大库,由数个较小的库或者模块组成,最为常见的如下:core、gui、xml、sql、phonon、webkit,除了core和gui,这些模块都需要在qmake的工程文件中启用         QTextStream 流,Qdate 日期                 3.3

QT中C端关闭导致S端崩溃问题

在实现多线程C/S通信时,有一个bug卡了我好久——当有一个C端关闭时,S端会崩溃。 经过一条条函数语句的筛查,终于找到问题出在哪里: 我通过类QList和迭代器来存储、访问C端链接的socket,而我在deleteSocket中delete迭代器后还想要访问到它,导致了内存的异常访问,使程序崩溃了。所以把delete *iter改成(*iter)->deleteLater(); 既可以实现原

28、查看Qt源码

一、方法1 在安装Qt时,需要勾选“Sources” 在Qt的安装目录Qt5.12.10\5.12.10\Src中可以找到Qt的源码 二、方法2 访问如下网址(需要翻墙) https://codebrowser.dev/ 在搜索框中输入要查找的信息,如:QMainWindow,显示出如下信息 双击某一个搜索结果,就可以查看其文件中的信息 同时其文件路径与Qt安装

6、Qt—Log4Qt使用小记1

开发平台:Win10 64位 开发环境:Qt Creator 13.0.0  构建环境:Qt 5.15.2 +MSVC2019 64位 一、Log4Qt简介         Log4Qt是使用Trolltech Qt Framework的Apache Software Foundation Log4j包的C ++端口。它旨在供开源和商业Qt项目使用。所以 Log4Qt 是Apache

Qt中test模块使用时注意

1,要在pro加入testlib QT += testlib 2,要使用QtTest头文件 #include <QtTest> 3,使用wait案例 1000毫秒等于1秒 QTest::qWait(3000);

关于QT开发qcharts的注意事项

1.要注意在pro文件中加入charts QT += core gui charts 2.要注意在使用时加入命名空间 using namespace QtCharts;

Qt中的TCP通信:一个详细指南

目录标题 步骤 1:创建TCP服务器1.1 定义服务器类1.2 实现服务器类1.3 启动服务器 步骤 2:创建TCP客户端2.1 实例化QTcpSocket2.2 连接到服务器2.3 发送数据2.4 接收数据 步骤 3:处理TCP连接的生命周期3.1 处理错误3.2 断开连接 结论 在Qt框架中,TCP通信可以通过QTcpSocket和QTcpServer类来实现。QTcpS

Qt: QTableWidget

给Table安装过滤器,添加右键删除选中行 bool FitPlaneDialog::eventFilter(QObject* watched, QEvent* event) {//对my_table_widget添加右键菜单if (watched == ui->my_table_widget) {if (event->type() == QEvent::ContextMenu) {QMenu

深入理解Qt的信号与槽机制

目录标题 第 1 部分:信号与槽概述1.1 信号与槽的定义1.2 信号与槽的优势 第 2 部分:使用信号与槽2.1 声明信号与槽2.2 定义信号与槽2.3 连接信号与槽2.4 发出信号 第 3 部分:信号与槽的高级用法3.1 自动连接1. 使用 `QMetaObject::Connection` 连接2. 使用 `Q_INVOKABLE` 宏3. 使用 `QML` 中的自动连接4. 使用 `

29、Qt使用上下文菜单(右键菜单)

说明:使用四种方式实现鼠标右击界面,显示出菜单,菜单上有两个动作,选择两个动作,分别打印“111”和“222”。 界面样式如下: 一、方法1:重写鼠标事件mousePressEvent .h中的代码如下: #ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACEnamespace

C++ QT设计模式:原型模式

基本概念 原型模式是一种创建型设计模式,允许通过复制现有对象来创建新对象,而不是通过使用构造函数。 实现的模块有: Prototype(原型): 定义一个抽象接口,规定了具体原型对象必须实现的方法。 ConcretePrototype(具体原型): 实现了原型接口的具体原型对象,通过复制自身来创建新对象。 Client(客户端): 使用原型对象的客户端,通过复制原型对象来创建新对象。

Qt学习笔记1.3.3QtCore-隐式共享

文章目录 概述隐式共享细节类列表 Qt中的许多c++类使用隐式数据共享来最大化资源使用并最小化复制。隐式共享类作为参数传递时既安全又高效,因为只传递指向数据的指针,并且只有当函数写入数据时才会复制数据,即写时复制(copy-on-write)。 概述 共享类由指向包含引用计数的共享数据块的指针和数据组成 当创建共享对象时,它将引用计数设置为1。每当新对象引用共享数据

rk3399+qt实现IPC摄像头监看系统

需求 使用rk3399实现对nvr的摄像头进行查看 支持单/4分屏 自动轮询显示 与各个摄像头进行对讲联动,录像 方案 芯片平台:rk3399 桌面系统:ubuntu 界面开发:QT rtsp客户端:vlc/gstreamer 实现 主界面 ================未完待续=====================

Qt实现水平方向(横向)流式布局FlowLayout简单又实用!提供2种最有用的方法!

在Qt中实现水平方向(横向)流式布局有两种方法: 方法一:使用QListView或者QListWidget基础控件,这两个控件是可以直接设置水平方向自动换行的流式布局的: 由于QListView是model/view结构,所以在支持流式布局的同时,还可以通过model实现搜索、过滤、排序、拖拽交互两个项等高级功能!数据量大时的增删改查都挺方便,缺点是用起来复杂一些,相对于QLayout消耗

Qt widget显示曲线

Qt通过widget显示曲线,需要下载charts插件。然后在pro文件进行引用。 QT += charts 一般在开始安装的时候,我们就要选择charts组件安装,否则,我们在引用的时候就会报错。 接下来我们开始画出曲线新建一个chart对象,创建QLineSeries对象 QChart *chart = new QChart();// 创建一个QLineSeries对象,用于绘制线性图

Windows Qt中支持heic 图片显示

安装vcpkg:         git clone https://github.com/microsoft/vcpkg 执行脚本:         .\vcpkg\bootstrap-vcpkg.bat 在安装之前如果需要指定vs的编译器, 在如下文件中做更改, 我指定的是用vs2019编译的:         D:\vcpkg\vcpkg\triplets 增加了 se

一、VIsual Studio下的Qt环境配置(Visual Studio 2022 + Qt 5.12.10)

一、下载编译器Visual Studio2022和Qt 5.12.10 Visual Studio 2022 社区版就够学习使用了 Qt5.12.10 安装教程网上搜,一大堆 也很简单,配置直接选默认,路径留意一下即可 二、配置环境 Ⅰ,配置Qt环境变量 系统变量下的Path,添加Qt路径,到bin文件夹下 Ⅱ,打开Visual Studio Installer 安装MSVC

QT函数整理

目录 1. 适应高分辨率函数 1. 适应高分辨率函数 自动适应调整设备安装QT的UI分辨率: QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 加载位置:

Qt-FFmpeg开发-打开摄像头直接显示YUYV422图像(12)

Qt-FFmpeg开发-打开摄像头直接显示YUYV422图像📀 文章目录 Qt-FFmpeg开发-打开摄像头直接显示YUYV422图像📀1、概述📸2、实现效果💽3、主要代码🔍4、完整源代码📑 更多精彩内容👉个人内容分类汇总 👈👉音视频开发 👈 1、概述📸 最近研究了一下FFmpeg开发,功能实在是太强大了,网上ffmpeg3、4的文章还是很多

Qt C++读取json文件

1.读取文件内容到二进制流 1.1 使用QFile打开文件 QFile file(filepathname);file.open(QIODevice::ReadOnly | QIODevice::Text); 1.2 使用QByteArray保存文件内容 QByteArray jsonData = file.readAll(); 1.3 可以关闭文件了 file.close();

MFC/QT利用COM组件接口从字体名称、粗体、斜体获取到字体文件路径的方法

MFC/QT利用COM组件接口从字体名称、粗体、斜体获取到字体文件路径的方法 这个是目前唯一能准确从字体名称+加粗+斜体三个属性定位到ttf/ttc字体路径的方法,其他的方式是没有办法区分后两个属性而且会出现不准确的问题 之前无意间在MSDN找到的资料: IDWriteLocalFontFileLoader::GetFilePathFromKey (dwrite.h) - Win32 app

【qt】数值的输入与输出

数值的输入与输出 一.与c++中的输入与输出的区别二.QString转数值三.数值转QString1.number()2.asprintf() 四.小项目1.总价和进制2.QSpinBox代替3.QSlider滑动块4.QScrollBar滚动条5.QDial表盘6.QLcdnumber lcd显示 五.总结一下下 一.与c++中的输入与输出的区别 在c++中我们一般通过控制台进

混合使用MFC与QT的深度技术分析

混合使用MFC与QT的深度技术分析 目录  混合使用MFC与QT的深度技术分析  一、引言 二、MFC与QT概述 三、混合使用场景分析 四、技术挑战与解决方案 五、实操:集成QT模块至MFC应用 六、性能考量与优化策略 七、安全性分析 八、案例研究 九、总结与未来展望  一、引言 在现代软件开发中,开发者经常需要在已有的技术栈上整合新的工具和框架。本文档旨在探

C++ QT设计模式:迭代器模式

基本概念 迭代器模式(Iterator Pattern)是一种行为型设计模式,提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 迭代器模式将遍历元素的责任封装到一个独立的迭代器对象中,使得聚合对象和遍历算法分离开来。 实现的模块有: Iterator(迭代器):定义了访问和遍历元素的接口。 ConcreteIterator(具体迭代器):实现了 Iterato

vs-qt中无法加载qsqlite驱动,但是单独新建demo测试却又是正常的。。。

开发环境: Vs2015 + qt5.12 背景: 接手了一个项目,可以编译过去,也可以运行,, 但是登录一直失败,,但是数据库文件也是正常的。。。 最主要的是环境和同事的是一样的,,,但是他那边可以加载成功,我这边不可以。。 后来单独在vs中创建了一个demo,用来测试QSqlDatabase::drivers()能否打印出 sqlite驱动,,结果是OK的,,, 那为啥在我接手的项目中就

ubuntulinaro开机自动运行用Qt写的程序

1st     vi /usr/share/applications/qt.desktop    前提qt程序放到/home/linaro/myqt/   [Desktop Entry]Version=1.0Name=testQTExec=/home/linaro/myqt/testQTStartupNotify=falseNoDisplay=trueType=Appl