欢迎转载,请注明出处:https://blog.csdn.net/qq_39453936?spm=1010.2135.3001.5343
原文链接: https://blog.csdn.net/qq_39453936/article/details/121137743

问题记录

  • TLS initialization failed 错误
  • 无法正常使用kits
  • git push报错
  • CEF无法自动播放带声音的视频
  • 变量为空的问题
  • Qt中静态对象的使用问题
  • QListWidget 中插入新项方法
  • eventFilter不执行的问题
  • 字体设置

TLS initialization failed 错误

QT网络库发送https请求结果失败,错误信息为:”TLS initialization failed“;
环境信息:

解决方案:
5.13版之后:把Qt\Qt5.13.1\Tools\QtCreator\bin 下的libssl-1_1.dll 和 libcrypto-1_1.dll文件
拷贝到 Qt\Qt5.13.1\5.13.1\msvc2017\bin 目录下;

更多解决方法


无法正常使用kits

报错 :The currently selected kit “Replacement for “Desktop Qt 5.13.2 MSVC2017 32bit”” does not have a valid Qt.

解决方案:
如果曾经卸载过qt的话可能会出现这个问题,可以通过重新设置kits解决。
点击工具->选项->选择kits选项卡,删除多余的kit重新编译就可以了。


git push报错

  1. Auth error: Access deined: authorize failure.
    fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
解决方案:

  1. 使用git提交时报错:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity
    解决方案:

    问题在于用http提交有上传大小限制,修改上传大小限制使用 git config --global http.postBuffer 52428800 后依然报错;改为了ssh提交就好了 (git remote -v查询git的提交地址)

CEF无法自动播放带声音的视频

问题:
在基于Chromium内核开发的浏览器客户端中加载视频时发现无法正常播放,只有静音时才可以播放无声视频,使用video或audio标签设置了autoplay属性也一样不能自动播放,并且控制台看到如下异常:Uncaught (in promise) DOMException: play() failed because the user didn’t interact with the document first;

分析原因:
查找资料发现目前Chromium内核,已不再允许自动播放音频和视频,这是因为,Chrome只允许用户对网页进行主动触发后才可自动播放音频和视频。其实,严格地来说,是Chrome不允许在用户对网页进行触发之前播放音频,而视频其实是不受限制的。但因为视频文件同样包含了音频,所以也一同被禁止了。Chrome这样做的目的是为了防止开发者滥用自动播放功能而对用户产生骚扰。

解决:
比较常规的做法是,为video标签设置muted属性,使它静音,这样视频就能自动播放了,但是没有声音。然后待用户在网页上有了任意触发后,再将muted去掉。或者让用户手动去打开音频(腾讯视频就是这样做的)。当然我们基于CEF开发可以有更完美的解决方案,模拟用户的点击操作,给CEF发送鼠标点击操作信号,再播放视频就可以了;


变量为空的问题

问:cmp值是Y还是N?

{auto v1 = QString("1234").toStdString().c_str();auto str = QString("1234").toStdString();auto v2 = str.c_str();auto cmp = strcmp(v1,v2)==0?"Y":"N";
}

解析:因为 v1 = QString("1234").toStdString().c_str() 是指向返回的地址,当执行完该行后,该地址被释放,所以 v1 成了野指针,str = QString("1234").toStdString() 的过程会拷贝给 str,变量 str 还在作用域内,v2 也就能获取到正确的值。所以结果应为N;

例子中第一眼看似正常,还能使能使代码更简洁,却导致v1的值异常;所以当获取的返回是地址时,应留意是否使用时已被释放


Qt中静态对象的使用问题

问题:静态对象初始化后获取的成员变量值异常;

原因:使用static 类对象创建静态成员,class的静态成员变量生命期不依赖于任何对象程序的生命周期,为程序的生命周期。所以即使从未使用过,静态对象也会被初始化;导致在qt的相关模块还未初始化完成就去读取,得出异常的值;

解决方法:

Q_GLOBAL_STATIC(MyType, staticType);

Qt中其Q_GLOBAL_STATIC宏是在QGlobalStatic中定义的,不过通常都不会直接使用QGlobalStatic类,而是使用类中定义的宏Q_GLOBAL_STATIC;

  • 第一次使用时创建,避免不初始化之前或销毁之后可能会使用;
  • Q_GLOBAL_STATIC宏创建一个对象,它在首次使用时以线程安全的方式初始化自己:如果多个线程同时尝试初始化对象,则只有一个线程会继续初始化,而其他所有线程都会等待完成。

注意:如果要使用该宏,那么累的构造函数和析构函数必须是公有的才行,如果构造函数和析构函数是私有或者受保护的类型,是不能使用该宏的。

https://blog.csdn.net/carlhelen/article/details/81533912
https://blog.csdn.net/luoyayun361/article/details/80414268


QListWidget 中插入新项方法

1:addItem,是在QListWidget的最后插入一项;

2:insertItem,是在QListWidget的row参数的位置插入一项。在这种方法中,需要注意一点,就是在新建项的时候,项的父控件不能是QListWidget,否则还是添加到QListWidget的最后,即不能 item = new QListWidgetItem(QListWidget),而应该是 item = new QListWidgetItem();


eventFilter不执行的问题

在监测的代码里执行需要的行为. 这可以用event Filter来达到. 设置一个event filter有两个步骤:

  1. 在目标对象上调用installEventFilter(),将监测对象注册到目标对象上.
  2. 在监测对象的eventFilter()方法里处理目标对象的事件.

问题:无法进入eventFilter函数执行;

解决:由于子类继承后重写了eventFilter函数,所有要记得在子类中调用父类的eventFilter,否则父类中的eventFilter不执行;

字体设置

如果控件先在qss中设置了相关字体大小,setFont设置的大小将不会生效;

Qt - 问题解决记录(持续更新)相关推荐

  1. Jenkins常见问题解决(持续更新)

    Jenkins常见问题解决(持续更新) 参考文章: (1)Jenkins常见问题解决(持续更新) (2)https://www.cnblogs.com/XhyTechnologyShare/p/120 ...

  2. 达梦数据库操作记录_达梦数据库常用功能及命令记录 -- 持续更新

    达梦数据库常用功能及命令记录 -- 持续更新 达梦数据库常用功能及命令记录 达梦数据库语句的使用总体来说跟 oracle 很接近的, 这篇文章主要是把常用的情况和语句做了记录, 并且后续还会不断的持续 ...

  3. 中间件安全知识点记录-持续更新

    这是一个关于中间件安全的系列文章,后期会持续更新: 一.首先,抛出中间件的概念 所谓中间件,就是位于操作系统和应用软件之间的一个软件层,它向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情 ...

  4. UE4 随笔 反射标记符记录 持续更新

    原创文章,转载请注明出处. ***本篇为基础文章,主要为自己记录用.*** 瞎掰 一些反射的UPRPERTY修饰符记录 GameInstance/GameMode等逻辑常用类随笔 反射 标识符 随笔 ...

  5. ubuntu使用问题与解决记录[持续更新]

    1. 添加到计划任务 为脚本增加可执行权限 sudo chmod +x yeelink.sh 将脚本加入cronjob(计划任务) sudo crontab -e 在cornjob文件中添加下面一行, ...

  6. [系统] Deepin系统常见问题解决(持续更新)

    系统环境说明 系统:Deepin V20 平台:amd64 常见问题 1.报错信息如下 error while loading shared libraries: libreadline.so.6: ...

  7. 005-PS基础学习笔记记录-持续更新

    admin@admindembp 001-基础学习笔记 % tree -N -L 1 . ├── 000-Adobe全套系列-破解软件下载.md ├── 001-平面设计接单地址.md ├── 002 ...

  8. 一些问题的答案记录 (持续更新中)

    前言: 博士期间会不断的学习和查阅在线资料, 甚至有时候能发现一些特别出彩的小问题及其答案. 与其花时间记住全部的答案, 不如将他们记录下来,以便后期查阅, 故写此文. 问题集: 如何清空CPU Ca ...

  9. Windriver 安装和PCIE设备调试遇到的问题记录(持续更新)

    问题1:在win10系统上安装windriver. 解决:从jungo官网下载的试用版,30天试用期,需要填写自己的信息,链接跳转很慢. 问题2:安装时说检测到我的电脑被Secure Boot保护,要 ...

最新文章

  1. JWT的使用及登录账号
  2. 卡特兰数Catalan Number
  3. Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁
  4. JAVA错误日志(part1)--编码GBK的不可映射字符
  5. 文件 单片机_如何查看你写的单片机程序有多大?
  6. jooq代码生成_将jOOQ与Spring结合使用:代码生成
  7. python接口自动化2-发送post请求
  8. Kubernetes学习总结(13)—— Kubernetes 各个组件的概念
  9. android双指滑动方向,OpenGL ES2.0实现手指滑动平移、双指缩放Android
  10. 如何设计 user 表?加入第三方登录呢?
  11. 基于Ubuntu的linux环境制作嵌入式SD/TF启动卡
  12. 超图(idesktop iserver10) 处理osgb倾斜摄影和tif并 发布 加载 ---1---连续更新
  13. 三菱四节传送带梯形图_PLC控制四节传送带设计
  14. matlab 二维矩形函数,rect矩形函数 matlab中怎样编写矩形函数
  15. 翟菜花:资本退烧、开源节流时代,品质服务保障成携程终极利器
  16. 计算机硬盘电源接口,硬盘电源接口图解
  17. 佳博80系列小票打印机 gp 80180安装驱动,显示打印错误
  18. 揭秘虚拟化环境高可靠存储的构架和配置
  19. 淘宝买的AC+退款经历
  20. php医疗管理系统(医院患者就诊档案管理系统)源码

热门文章

  1. 邮件营销:取悦用户的18个标题模式
  2. 动手做一个自组网的网络 - 操作系统内核
  3. 给网站套上Cloudflare(以腾讯云为例)
  4. linux 安装 lvm,Linux配置LVM
  5. 用青龙跑应用试客(收益很稳定)
  6. 单例模式,自定义cell加长版,对控件的圆润度设置还有另一种跳界面方式(很多界面)
  7. python 爬虫入门--文字爬取
  8. 智慧化工视频分析解决方案
  9. 2011年5月17日
  10. DIY掌上POS机,或许是最小的收银POS机了!