Qt 单例模式:本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这个宏不但定义简单,还可以获得线程安全性
摘要:单例模式 很多人洋洋洒洒写了一大堆 但是Qt本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这个宏不但定义简单,还可以获得线程安全性。 rule.h 1 #ifndef RULE_H 2 #define RULE_H 3 4 class Rule 5 { 6 public: 7 stati
阅读全文
posted @
2023-07-18 10:29
一杯清酒邀明月
阅读(218)
推荐(0)
Qt 专门的宏Q_GLOBAL_STATIC,用来实现线程安全的单例模式
摘要:Qt本身就提供了专门的宏 Q_GLOBAL_STATIC。通过这个宏不但定义简单,还可以获得线程安全性。 1、先看官方文档 https://doc.qt.io/qt-5/qglobalstatic.html https://doc.qt.io/qt-5/threads-reentrancy.html
阅读全文
posted @
2023-07-18 10:26
一杯清酒邀明月
阅读(331)
推荐(0)
Qt QJsonDocument以及与QJsonArray、QJsonObject、QJsonValue的关联
摘要:0、说明 QJsonDocument类提供了read/write JSON文档的方法。 用QJsonDocument::fromJson()方法,可以从将一个JSON文件(或者QByteArray数据)转换为QJsonDocument,用QJsonDocument::toJson()则能起到相反的用
阅读全文
posted @
2023-07-11 14:43
一杯清酒邀明月
阅读(1456)
推荐(0)
Qt QJsonValue
摘要:0、说明 QJsonValue类用于操作JSON中的各种数据。 JSON是用于存储结构化数据的格式,JSON中的数据可以是六种类型: 基本类型 存储类型 bool QJsonValue::Bool double QJsonValue::Double string QJsonValue::String
阅读全文
posted @
2023-07-11 14:37
一杯清酒邀明月
阅读(604)
推荐(0)
Qt QSplitter拆分器
摘要:1.简介 QSplitter拆分器允许用户通过拖动子部件之间的边界来控制它们的大小。 单个拆分器可以控制任意数量的小部件。QSplitter的典型用法是创建几个小部件,并使用insertWidget()或addWidget()添加它们。 2.常用方法 默认情况下,QSplitter会动态调整其子元素
阅读全文
posted @
2023-07-10 16:12
一杯清酒邀明月
阅读(1292)
推荐(0)
Qt 插件框架的使用及优化
摘要:Qt插件框架是一种机制,可以让用户在应用程序运行时通过插拔的方式扩展其功能,并且不需要重新编译整个应用程序。它是一个强大的工具,可用于实现许多不同类型的应用程序和库。 模块化设计 - 通过将应用程序分为几个模块,您可以更轻松地管理和更新您的Qt插件。同时,模块化也有利于代码复用和维护性。 核心统一管
阅读全文
posted @
2023-07-06 15:06
一杯清酒邀明月
阅读(479)
推荐(0)
Qt 分层架构的使用和优化
摘要:Qt是一个跨平台的C++图形用户界面应用程序开发框架。它具有丰富的功能和灵活的分层架构,可帮助开发人员高效地构建可扩展的软件应用程序。以下是Qt分层架构的使用和优化的建议: 了解Qt的核心模块:Qt核心模块包括Qt核心、GUI、多媒体、网络和SQL等模块。开发人员应该深入了解每个模块的功能和API,
阅读全文
posted @
2023-07-06 15:06
一杯清酒邀明月
阅读(523)
推荐(0)
Qt 信号和槽机制的使用和优化
摘要:Qt信号和槽机制是Qt框架中非常重要的一部分,它可以帮助我们轻松地实现对象之间的通讯和交互。以下是一些使用和优化Qt信号和槽机制的建议: 熟悉信号和槽机制的基本原理:我们需要了解信号和槽机制的基本概念和工作原理。每个Qt对象都有一个QMetaObject类,其中包含该对象的所有属性、方法和信号/槽的
阅读全文
posted @
2023-07-06 15:05
一杯清酒邀明月
阅读(349)
推荐(0)
Qt 四种程序的架构设计方法
摘要:四种常见的关于Qt程序的架构设计方法: 1.使用MVC设计模式MVC是Model-View-Controller的缩写,是应用程序开发中常用的设计模式。在Qt中,可以使用QAbstractItemModel和QTreeView等类来实现MVC模式。 2. 使用信号和槽机制Qt中的信号和槽机制是一种灵
阅读全文
posted @
2023-07-06 15:05
一杯清酒邀明月
阅读(1019)
推荐(0)
Qt qBreakPad使用(windows)
摘要:一、介绍 Google breakpad是一个跨平台的崩溃转储和分析框架和工具集合。而且BreakPad本来就是为了解决C、C++异常捕获而开发的。BreakPad支持跨平台,很容易在Qt项目中使用,使跨平台的应用实现跨平台异常捕获。这里介绍一下qBreakPad的使用。 二、编译 步骤1、下载qB
阅读全文
posted @
2023-07-04 14:20
一杯清酒邀明月
阅读(1499)
推荐(0)
Qt 5.14.2配置QVTKOpenGLNativeWidget控件并在QT中显示VTK窗口
摘要:操作系统:win 10QT: 5.15.2VTK : 9.1 一、VTK库编译 1、从官网下载vtk 库现在已经更新到9.2.2 了 2、下载Cmake 3、使用Cmake 编译vtk源码 注意点 : 1、有三个路径,source build install 2、对应Qt的安装位置 4、使用vs 生
阅读全文
posted @
2023-06-20 16:12
一杯清酒邀明月
阅读(4153)
推荐(0)
Qt error: C7525: 内联变量至少需要 “/std:c++17“
摘要:碰到这种错误,只需要在Qt中配置C++17即可解决 打开该项目中的xxx.pro文件,然后如下图中红色方框中配置:CONFIG += c++17
阅读全文
posted @
2023-06-15 16:10
一杯清酒邀明月
阅读(578)
推荐(0)
VS和Qt配置OpenMP
摘要:前言这里记录在VS和QtCreater的环境里如何打开OpenMP方法。 一、VS环境下在VS环境下,进入项目属性 =》 C/C++ =》 语言 =》 OpenMP支持 =》 下拉菜单选择是 二、QtCreater环境下在“XXX.pro”工程文件中添加如下代码 1 QMAKE_CXXFLAGS+=
阅读全文
posted @
2023-06-07 11:20
一杯清酒邀明月
阅读(671)
推荐(0)
Qt 报错:Enigma Virtual Box 打包过的 exe 报错 cannot load library Qt5Core.dll
摘要:问题: 把 Enigma Virtual Box 打包过的 exe 放到另一个电脑使用,打开exe会报错:cannot load library Qt5Core.dll(实际上使用 Enigma Virtual Box 打包时已经包含了 Qt5Core.dll 这个库) 原因:这个并不是缺少 Qt5
阅读全文
posted @
2023-05-31 16:07
一杯清酒邀明月
阅读(1377)
推荐(0)
Qt Windows系统使用QBreakpad实战
摘要:前言最近想研究下Qt下跨平台的崩溃捕获,经过一番调查,发现有一个来自谷歌的开源项目叫Breakpad,统一了这三平台win、linux、mac生成dump的方式,通过它就可以跨平台。 使用也是相对简单的,大概就是下载源码,编译生成lib和dll,然后在你自己的程序中include头文件,就可以在你的
阅读全文
posted @
2023-05-24 15:27
一杯清酒邀明月
阅读(2965)
推荐(2)
Qt Creator按顺序编译多个子项目
摘要:0. 环境 Qt5.3.2 mingw482_32 1. 创建子项目 这个子项目类似于Visual Studio中解决方案一样的存在,用于管理多个其他子项目。点击文件->新建文件或项目->其他项目->子项目项目->Choose: 之后下一步,选择需要的编译器,我这里只有mingw,若有msvc编译器
阅读全文
posted @
2023-05-24 15:10
一杯清酒邀明月
阅读(831)
推荐(0)
Qt 定时器的详细使用方法和注意点 Qobject QTimer
摘要:1 定义一个全局的变量用于记录定时器id,需要几个定时器就定义几个id.注意初始化id时候最好设置为0,因为 重复执行killTimer(0)不会报错 1 int temtimerID01 = 0 ; 2 // int QObject::startTimer ( int interval ) ; /
阅读全文
posted @
2023-05-24 11:33
一杯清酒邀明月
阅读(1008)
推荐(0)
Qt QImage图像格式解读
摘要:enum QImage::FormatQImage::Format_Invalid 图像无效QImage::Format_Mono 存储使用1位每像素的图像,字节填充最重要位第一QImage::Format_MonoLSB 存储使用1位每像素的图像,字节填充不显著位第一QImage::Format_
阅读全文
posted @
2023-05-19 09:26
一杯清酒邀明月
阅读(1546)
推荐(0)
Qt QTimer::singleShot问题及用法
摘要:问题描述 问题描述:QTimer::singleShot定时器事件超时,如果此时类内对象已经被回收,定时器事件调用已经释放的类内资源时会引起崩溃 1 void func() 2 { 3 QTimer::singleShot(50,[=](){ 4 this->continueNodeTask();
阅读全文
posted @
2023-05-11 10:51
一杯清酒邀明月
阅读(6128)
推荐(0)
Qt QTimer::singleShot用法
摘要:[static] void QTimer::singleShot(int msec, const QObject *receiver, const char *member) 这个静态函数在一个给定时间间隔 msec(毫秒) 之后调用一个槽。 用法1 :假设类A有个槽函数 function() {
阅读全文
posted @
2023-05-11 10:48
一杯清酒邀明月
阅读(806)
推荐(0)