- 博客(722)
- 资源 (5)
- 收藏
- 关注
原创 QDebug是线程安全的
Qt中使用qDebug()输出信息时,是线程安全的,代码如下。c++标准库中的cout是线程不安全的。测试结果: 代码不会乱行。
2023-09-28 16:11:07
372
原创 iPhone刘海模组说明
iPhoneX刘海模组模组图示模组说明红外镜头: 专为面部识别Face ID而生。红外镜头可以通过捕获红外图像中人脸上的点阵图案来和A11仿生SoC中Secure Enclave区域里已经储存的面部数据进行比对,匹配成功就会解锁。 面部在红外成像时会和现实生活中的看起来相差很大,而且在面部相对于屏幕角度不同的时候,红外画面也不尽相同。所以直接扫描面部数据是不准确的,需要利用人脸上不会变化的点阵图案,点阵图案后面会讲到。 泛光感应元件: 别名泛光照射器,它主要的作用是发射不可见的红外.
2022-05-07 13:36:34
2109
原创 Qml ListView显示无规律内容
ListView在一定范围内显示内容是效率最高的,因为它只会渲染可以显示的那部分数据.但对于无规律的内容需要特别注意,程序代码如下.import QtQuick 2.14//listView绘制无规律内容-高效方法ListView { id: listViewRoot width: 300 height: 100 orientation: ListView.Horizontal // property ListModel listModel:
2022-04-24 10:17:16
353
原创 Qml控件关联Action
Item { ... Button { action: openAction } // Add a tool button in a ToolBar ... Action { id: openAction text: "&Open" shortcut: "Ctrl+O" onTriggered: // Do some action tooltip: "Open an image" .
2022-04-18 09:24:35
380
原创 Java Optional使用
检查数据是否为空,并抛出指定的异常import java.util.Optional;public class Option1 { public static void main(String[] args) throws Exception { User2 user2 = null; Optional.ofNullable(user2).orElseThrow(()-> new RuntimeException("aaaaa")); }}class User2{
2022-04-15 20:37:57
662
原创 Qml可拖动矩形块
Qml可拖动矩形块 Rectangle { id: moveItem //注意拖动目标不要使用锚布局或者Layout,而是使用相对坐标 x: 100 y: 100 width: 50 height: 50 color: "lightblue" MouseArea { id: mouseArea anchors.
2022-04-14 19:53:32
552
1
原创 Java Future多线程
Future的get()方法是阻塞的, 需要优化才可以实现异步多线程, 示例如下所示.import java.util.ArrayList;import java.util.List;import java.util.concurrent.*;public class TestFuture { private static final int THREAD_SIZE = 10; private static final int USER_NUM = 55; public static
2022-04-06 19:59:38
1567
原创 Qt枚举类型获取对应数字和字符串-3
前面已经介绍过Qt中使用enum返回对应数字和字符串的示例,链接如下:示例1:Qt枚举类型获取对应数字和字符串_tony_xj的博客-优快云博客 示例2:Qt枚举类型获取对应数字和字符串-2_tony_xj的博客-优快云博客当上述示例存在问题, 说明如下:定义对象的数字和字符串是分开的,极容易出错, 没有体现出封装的特性. 上述问题也是由C++ enum造成的.所以我们推出了示例3,使用类来代替enum,大大提升封装性和扩展性.season2.h#ifndef SEASO..
2022-04-06 11:20:35
875
原创 Qt枚举类型获取对应数字和字符串-2
基础使用可以参照示例1链接:Qt枚举类型获取对应数字和字符串示例1中使用了静态初始化函数(static void initial),针对方法较多的情况下,都需要增加判断逻辑,引起程序复杂性.示例2优化点业务逻辑写到.h中. 增加int类型方法调用. 定义并初始化,减少逻辑判断.season.h#ifndef SEASON_H#define SEASON_H#include <QString>#include <QStringList>class.
2022-04-06 11:04:42
1036
原创 Qt枚举类型获取对应数字和字符串
通过枚举类型获取对应数字和字符串, 将枚举类型封装到类中, 本文以Qt举例, 程序如下.season.h#ifndef SEASON_H#define SEASON_H#include <QStringList>class Season{public: enum SeasonType{ Spring, Summer, Autumn, Winter }; static QString getItem(SeasonType type)
2022-04-02 20:32:13
1576
原创 C++/Qt字符串转换
QString->QByteArrayQByteArray QString::toLocal8Bit();QByteArray->QStringQString(QByteArray byteArray);QString->std::stringstd::string QString::toStdString();std::string->QStringQString QString::fromStdString(const std::string &st.
2022-03-22 17:41:54
484
原创 Qt bean定义方法是否使用引用
在Qt/C++开发中, 会定义各种bean实体类, 要其属性定义get/set方法, 其中get方法应该返回值还用引用呢? 我们参照Qt官方的实体类-QPoint定义, 首先应该通过get方法返回值, 通过rxx返回引用, 如下图所示....
2022-03-18 14:57:24
888
原创 netty解析字符串转16进制问题
netty和许多终端设备通信时, netty使用字符串传递数据, 但有时需要按照16进制来解析数据内容,这种情况极容易出现错误, 因为Java中字符串是以"UTF-8"来解析的, 但对于但字符格式字符需要按照ISO_8859_1来解析才可以获取到正确的结果.程序示例public static void main(String[] args) { String msg = "010203F1F2F3"; String s1 = new String(DataUtil.hexStrTo
2022-03-16 11:48:16
2400
1
原创 Java使用CyclicBarrier
public class TestUtil { private static final int USE_NUM = 5; private CyclicBarrier barrier = new CyclicBarrier(USE_NUM, new Runnable() { @Override public void run() { System.out.println("整齐划一"); try { Thread.sleep(100); } catch (Inte.
2022-03-09 12:26:27
242
原创 Java自定义阻塞队列的丢弃策略
public class TestUtil { public static void main(String[] args) { //创建自定义长度的阻塞队列 ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<>(5); //生产者1 Thread producer = new Thread(() -> { try { for (int i = 0; i < 10; i.
2022-03-09 11:34:02
761
原创 postman为什么不跨域
跨域是指当一个资源从与该资源本身所在的服务器不同的域或端口不同的域或不同的端口请求一个资源时,资源会发起一个跨域 HTTP 请求。正常的跨域情况,是你访问了一个A网站,然后这个网站返回的资源里面,请求了B网站/端口的资源,于是就跨域了。所以,跨域这个情况只会出现在浏览器页面里,因为实际上是浏览器由于安全原因限制了这些请求的访问。在postman里面,实际上每发出一个请求,都是在独立请求一个资源,而不是在一个网站返回的页面里,再去请求另外一个网站/端口的资源。自然也就不会造成跨域了。...
2022-03-05 14:44:45
2876
原创 Qt截屏实现
Qt截屏程序示例QScreen *screen = QGuiApplication::primaryScreen();QString imgName = "img/img_";QElapsedTimer m_elasped;m_elasped.start();for(int i=0; i<10; i++){ bool save = screen->grabWindow(0).save(imgName+QString::number(i), "png"); qI
2022-03-03 16:52:26
381
原创 QSqlDatabasePrivate::database: requested database does not belong to the calling thread
问题描述现象:Qt在使用数据库时(本例以Sqlite为例),如创建数据库连接和使用数据库连接不在一个线程中,会出现如下报错:QSqlDatabasePrivate::database: requested database does not belong to the calling thread程序示例创建数据库连接程序//m_sqlDataBase全局变量m_sqlDataBase = QSqlDatabase::addDatabase("QSQLITE");m_sqlD
2022-03-02 20:17:50
5219
原创 Qt条件编译
在pro文件中添加 DEFINESDEFINES += NO_TESTpro文件中使用定义的变量if(contains(DEFINES, NO_TEST)){ SOURCES += aa.cpp HEADERS += a.h}else{ SOURCES += b.cpp HEADERS += b.h}.h/.CPP文件中使用定义的变量#ifdef NO_TEST#include "aaa.h"#else#inc...
2022-01-13 19:48:27
549
原创 国产操作系统
国产操作系统UOS以Deepin为核心。 红旗Linux:红旗linux是中国较大、较成熟的Linux发行版之一。 深度(deepin):deepin是一份致力于为全球用户提供美观、易用、安全、免费的使用环境的Linux发行版。它不仅仅包括对全球优秀开源产品进行的集成和配置,还开发了基于Qt5技术的深度桌面环境、基于Qt5技术的自主UI库DTK、系统设置中心,以及音乐播放器、视频播放器、软件中心等一系列面向普通用户的应用程序。 中标麒麟Linux桌面软件是上海中标软件有限公司发布的面向桌面应用的操
2022-01-12 12:47:33
1165
原创 C#命名规范
C#使用Pascal规则命名,即首字母要大写。 类名,属性名,方法名统一使用Pascal命名方式。 局部变量,形参等使用驼峰命名法。示例如下: public class UsersEntity { /// <summary> /// 用户ID /// </summary> [Key] public long UserID { get; set; } /// &l
2022-01-11 12:48:05
1290
原创 NuGet使用
NuGet是什么NuGet是C#开源,免费的包管理工具。NuGet全局配置文件文件路径:C:\Users\{user}\AppData\Roaming\NuGet\NuGet.Config配置项(支持配置国内镜像和设置包默认路径)<?xml version="1.0" encoding="utf-8"?><configuration> <packageSources> <add key="华为国内镜像" value="https:...
2022-01-10 18:08:46
1212
原创 ildasm.exe查看dll库支持的Net版本
ildasm.exe路径C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\xxxx Tools查看版本打开ildasm.exe。将dll拖到ildasm窗口中,如下图所示。打开MANIFEST文件,内容如下图// Metadata version: v4.0.30319.assembly extern mscorlib{ .publickeytoken = (B7 7A 5C 56 19 34 E0 8.
2022-01-10 15:22:18
603
原创 C++/C判断Windows,Mac和Linux平台宏定义
C++/C判断Windows,Mac和Linux平台宏定义#ifdef _WIN32 //define something for Windows (32-bit and 64-bit, this part is common) #ifdef _WIN64 //define something for Windows (64-bit only) #else //define something for Windows (32-bit only) #end
2022-01-08 20:06:48
9234
3
原创 adb查看和设置时间
adb查看和设置时间进入设备adb shell查看当前时间date查看当前时区cat /data/property/persist.sys.localecat /data/property/persist.sys.timezone设置系统时间 设置2021-02-01 17:30:55:date 0201173021.55 设置1981-10-01 12:36:55:date 100112361981.55 设置系统时区setprop persis.
2022-01-08 12:53:09
5760
原创 Qt获取音频输入和输出设备
Qt获取音频输入和输出audioutil.h#ifndef AUDIOUTIL_H#define AUDIOUTIL_Hclass AudioUtil{public: AudioUtil();public: void getDevices();};#endif // AUDIOUTIL_Haudioutil.cpp#include "audioutil.h"#include <QList>#include <QAudioDevi
2022-01-07 10:57:02
3664
原创 视频编解码硬件加速器分类
视频编解码硬件加速器分类NVIDIA CUVID (N卡专用)。 Intel QuickSync(核显专用)。 DXVA:DXVA是DirectX Video Acceleration的简称,中文译为视频硬件加速。DXVA是微软公司专门定制的视频加速规范,它共有两个版本,分别是DXVA 1.0和DXVA 2.0,几乎所有的显卡都具备硬件加速能力。 DXVA2(native) (纯dxva,以上都不支持则推荐native)。 DXVA2(copy-back) (dxva无渲染)。...
2021-12-31 18:06:07
3892
原创 NVIDIA Studio和Game Ready区别
NVIDIA Studio和Game Ready区别Studio是稳定版,更新不频繁。game ready就相当于测试版驱动。studio相当于稳定版驱动。我建议studio驱动常驻,因为游戏版的驱动主要是针对特定游戏的优化设置,我觉得吧,影响不大。反而工作端一旦出现什么问题,找起来就麻烦得多,还不如图省事。...
2021-12-30 19:55:55
19993
原创 Qt使用其原生MediaPlayer
示例程序Item { MediaPlayer { id: mediaplayer source: "groovy_video.mp4" } VideoOutput { anchors.fill: parent source: mediaplayer } MouseArea { id: playArea anchors.f
2021-12-30 14:24:44
257
原创 log4j:WARN No appenders could be found for logger
使用springboot开发项目时,使用其它依赖库,依赖的子部分有可能会发生冲突,如springboot整合dubbo时,会发生log4j重复加载的问题,可以查看那些依赖使用了log4j,增加sxclude即可。如下所示。<exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> &
2021-12-28 12:45:13
1037
原创 Springboot设置日志输出格式
简易方式在yml/properties文件中进行配置,如下图。专用配置文件logback-spring.xml:仅对spring项目起作用 logback.xml:对所有的项目都起作用
2021-12-25 00:07:43
568
原创 TDengine总结物联网数据特点
物联网数据特点数据特征所有的采集数据都是时序的。 数据都是结构化的。 一个采集点的数据源是唯一的。 类似日志数据,无须事务处理。 数据流量平稳,可以较为准确地估计,没有流量洪峰。应用特征数据以写为主,读操作为辅。 数据很少有更新和删除操作。 数据一般按照日期来删除。 数据有聚合,统计等实时计算逻辑。 数据是在指定时间段或指定区域内查找的。TDengine的处理目的:保证单个数据采集点的插入和查询效率是最好的。一个数据采集点一张表。 一张表的数据按块连续存储。
2021-12-25 00:01:45
2154
原创 冬至吃饺子
冬至吃饺子冬至不端饺子碗,冻掉耳朵没人管张仲景是河南南阳人,著有《伤寒杂病论》,医术高超,被人称作“医圣”。张仲景晚年回到老家南阳,正值冬季,看到家乡的人们面黄肌瘦,饥寒交迫,其中不少人的耳朵都冻烂了。便让其弟子在老家搭起医棚,支起大锅,然后他把羊肉和一些驱寒药材放在锅里煮,煮熟后将羊肉和药物捞出来切碎,用白面皮包成耳朵样的“娇耳”,煮熟后,分给来求药的人每人两只“娇耳”,一大碗肉汤。人们吃了“娇耳”,喝了“祛寒汤”,浑身暖和,两耳发热,冻伤的耳朵都治好了。后来人们也学着“娇耳”的样子,
2021-12-21 19:23:48
110
原创 Qml中布局控件的使用
Window { id: root visible: true width: 640 height: 480 title: qsTr("Hello World") //column可以不指定高度,由其子控件的高度来确认 //类似column控件的还有row,scrollView ColumnLayout{ spacing: 20 //控件之间的间距 Rectangle{ width:.
2021-12-20 13:40:36
282
Qt Quick之QML与C++交互方法PPT
2022-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人