
Qt
文章平均质量分 56
Qt框架
WenCoo
擅长linux下软件开发,qt,ffmpeg音视频二次开发。
展开
-
关于kylinV10系统鲲鹏芯片编译qt5.9.9源码中fontconfig包的处理
在编译webengine模块时,系统中安装了已经安装了fontconfig,但是就是找不到,各种方法都尝试了,仍无法解决,决定从qt源码来看看究竟有什么猫腻。显示改提示原因是没有安装fontconfig的开发库,所以去查看系统中库的安装情况,显示libfontconfig1-dev库没有安装,遂安装,安装之后再执行。返回值为1,表示执行失败,也就是fontconfig没有正确找到,我在其他系统上执行该命令,返回值为0。也查看了,系统中确实安装了这个库,但是就是qt找不到,怎么办?在鲲鹏系统上,可以看到。原创 2023-05-17 16:02:53 · 700 阅读 · 0 评论 -
关于kylin系统鲲鹏芯片编译qt5.9.9源码中fontconfig包的处理
软件适配,需要qt最小版本是5.9.9,但是鲲鹏机器上qt最大版本是5.6.1,需要在鲲鹏机器上使用源码编译安装5.9.9鲲鹏机器信息。原创 2023-03-28 23:28:31 · 822 阅读 · 0 评论 -
交叉编译qt以及相关依赖软件
当前系统:ubuntu20 桌面版本机软件安装:make cmake安装目录 -extprefix /home/virtual/aarch64-qt逻辑目录 -sysroot /home/virtual/sysroot将交叉编译器放到逻辑目录编译qt,缺少openssl opengl fctix-qt解决。原创 2023-03-15 17:18:05 · 2940 阅读 · 22 评论 -
Qt Creator经常无响应
问题背景最近,新安装了一次qt,qt版本是6.2.4,安装完之后,搭建ffmpeg环境,进行代码调试,然后就发现之前明明可以使用的代码,现在出现了问题,ffmpeg读取输入文件,然后就卡住了,qt就无响应了,一直这样,起初我怀疑是不是qt版本太新了,不太稳定,有bug,就想着降低qt版本试一下,然后折腾了两天,各种百度,各种尝试,终于在今天一个突然的尝试,发现了问题了原因原因分析原因是因为我的qt安装在C盘,c盘是固态盘,我的项目文件放在F盘,f盘是机械盘,说到这里大家可能就恍然大悟了吧,qt在机械盘原创 2022-03-29 23:28:58 · 1471 阅读 · 5 评论 -
QML 设计自定义样式CheckBox,可改变字体大小
将自定义的代码封装成组件:myCheckBox.qmlimport QtQuick 2.0import QtQuick.Controls 1.4import QtQuick.Controls.Styles 1.2Rectangle { property string str:"" property int langrageSize:25 proper原创 2017-08-03 22:31:59 · 6106 阅读 · 1 评论 -
QML程序架构设计(二)状态机应用
状态机刚使用,不太熟,如有错误,欢迎指出。 在qml中的界面程序中,界面切换有的比较复杂,使用状态机则会清晰一点。在使用过程中,发现状态机的使用有讲究。状态机使用1:import QtQuick 2.7import QtQuick.Controls 2.0import QtQuick.Layouts 1.0Rectangle { visible: tru原创 2017-08-03 22:04:54 · 1250 阅读 · 0 评论 -
QML程序架构设计(一)
在写qml程序时,遇到一种bug,子视图覆盖在父视图之上显示,但是还可以点击到父视图的内容,从而使程序紊乱,出现这个问题,就与程序的架构设计有关,如果设计不合理,即会出现这个问题,修改起来也是很麻烦。先上一个出现上述问题的例程:(晚上续写)原创 2017-07-24 16:08:21 · 4128 阅读 · 1 评论 -
Qml运行机制的理解(原创)
1.层级执行性对于qml运行代码,具有层级效果,在运行一个qml代码时,会先执行最上层的代码进行构建,然后逐级的向下层进行执行,如图所示:图1图1所示,就是qml的部分机制,该机制有如下几个特点:c.在程序启动执行过程中,程序会先解析最上层的代码,然后逐级向下解析,最后执行最低层的程序代码。在此解析机制下面,对于程序代码结构的设计需要注意:1)在做数据清除操作时,将其动作放在操作步骤的最顶层执行完...原创 2017-03-31 22:32:44 · 6247 阅读 · 4 评论 -
各种 QML错误集合原因总汇
被这个错误坑了好久,原因记录下来:第一点:TypeError Cannot read property XXX of undefined注意:检查与C++交互中有没有给初始化值,在界面起来之前,检查!检查!检查!再这里还需要注意一点,复杂的数据结构的初始化,由于复杂的数据结构的初始化可能层层嵌套的值,在qml中没有提取到,所以需要将该数据就够剖析出来,进行初始化赋值原创 2017-03-31 22:25:57 · 10858 阅读 · 1 评论 -
QML中的JavaScript用法详解
1.用法一由于qml是js的拓展,可以在qml中创建js的对象,js的对象有数组,日期,算数,逻辑,正则表达式,对象,都需要使用new来创建,创建的名字也是固定的,固定的名字可以调用js的内建方法。使用js对象来接受(接受c++的数据),或者产生数据,使用qml的自带对象的方法,再次进行处理数据,这样大部分数据就可以是我们想要的数据了,例如function my原创 2017-03-30 22:40:22 · 6611 阅读 · 0 评论 -
qml场景切换
建立一个变量,在点击事件中改变变量的值,然后在其他需要切换的场景中设置visible属性,即可控制其图片显示不显示。例程如下图:2016/10/24 00:04上面的方法介绍了通过变量的切换来切换界面,当只有两个界面的时候,很好使用,当有多个界面的时候,困扰了我很久,下面介绍一下如何多个界面场景切换。之前采用的方法是main中包含view1->vie原创 2016-11-01 23:21:49 · 2556 阅读 · 1 评论 -
ListView学习2--使用ListView做上下翻页
ListView想要做到上下翻页的效果需要使用如下参数positionViewAtIndex(int index,PositionMode mode)Positions the view such that the index is at the position specified by mode:ListView.Beginning - position i原创 2016-11-01 23:18:01 · 2507 阅读 · 0 评论 -
ListView学习1--ListView的使用
ListView的用法ListElement定义了单元属性,这些属性是ListModel和delegate通信的基础ListModel动态添加元素时,需要给定的ListElement中定义的属性。delegate中显示元素也是引用ListElement中的属性。ListView的delegate有两种方式。第一种方式:直接定义delegate。importQtQ原创 2016-11-01 23:14:49 · 573 阅读 · 0 评论 -
qt使用https发送数据遇到的段错误--未解决
问题环境描述:uos系统,amd64的cpu,V20版本,在其他系统上,同样的代码,没有报该错误,到了该平台上则出现了段错误。报错信息如下,猜测:应该是多次释放造成的#0 0x00007f58ce4f42e9 in OPENSSL_sk_free () from /lib/x86_64-linux-gnu/libcrypto.so.1.1[Current thread is 1 (Thread 0x7f58abfff700 (LWP 19843))](gdb) bt#0 0x00007f58c原创 2021-06-07 22:05:23 · 683 阅读 · 0 评论 -
配置qt的交叉编译工具
配置qt的交叉编译工具配置qt的交叉编译分为以下几步:修改qtcreator中的gcc和g++的编译器使用新的gcc编译qt源码,得到新的qmake解压qt源码tar -xvf qt-everywhere-opensource-src-5.9.9.tar.xz修改qt配置文件qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf(我选择不修改,仅查看)$ cat qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.原创 2021-05-21 23:33:07 · 2773 阅读 · 0 评论 -
kylinV10上qt5.9不能输入中文解决方法(二)
文章目录源码安装fcitx-qt5源码安装fcitx-qt5git路径git clone https://github.com/fcitx/fcitx-qt5.git编译步骤mkdir bulidcd bulidcmake ..make -j12cd platforminputcontext/cp libfcitxplatforminputcontextplugin.so /home/yx/Qt5.11.3/5.11.3/gcc_64/plugins/platforminput原创 2021-05-07 11:32:50 · 2494 阅读 · 3 评论 -
kylinV10上qt5.9不能输入中文解决方法(一)
kylin系统下安装qtcreator之后,发现无法输入中文,上网寻找解决办法,很多都是一样,kylin系统自带搜狗输入法,然后将其so库拷贝到qtcreator中的,重启qtcreator后,即可输入中文了。参考:ubuntu系统下QT5.5编写程序时不能输入中文这是网上的办法,但是我按照这样的操作,没有生效。无意中看到一篇文章中讲到,kylin是上的自带软件基于qt5.6的,其so库也是基于5.6的,可能和其他的版本qt并不合适,导致无法生效,所以我们就要重新源码编译搜狗的输入法,生成so,下一篇原创 2021-04-28 21:37:12 · 3743 阅读 · 4 评论 -
KylinV10上qt5.9开发应用打包步骤(五)--解决安装包依赖的正法
文章目录目录1. 当前打包方法2. 指定运行时的动态库3. 下面遇到的依赖问题解决目录1. 当前打包方法指定运行时动态库的查找相对位置,将qt的整个gcc_64目下的所有文件复制到程序运行的当前目录下,达到依赖解决的目的。2. 指定运行时的动态库unix { LIBS += -Wl,-rpath=\'\$\$ORIGIN\'/lib}参考:centos下qt程序发布过程及问题解决方法(could not find or load the Qt platform plugin “x原创 2021-04-28 21:36:26 · 1368 阅读 · 0 评论 -
KylinV10上qt5.9开发应用打包步骤(四)--linuxdeployqt源码编译
文章目录1.linuxdeployqt源码编译下载linuxdeployqt源码包,6版本的执行下面的步骤遇到报错 对‘ucal_clone_56’未定义的引用2. 解决依赖linuxdeployqt package -appimage报错 ERROR: Could not start patchelf报错 sh: 1: appimagetool: not found运行 linuxdeployqt package1.linuxdeployqt源码编译下载linuxdeployqt源码包,6版本的~$原创 2021-04-28 21:35:55 · 3454 阅读 · 0 评论 -
KylinV10上qt5.9开发应用打包步骤(三)--解决安装包依赖的邪法
文章目录使用dpkg进行打包解决qt依赖问题在kylin上打包qt的应用程序,一共试了3钟方法,只有第三种成功了:使用qt工具linuxdeployqt工具进行打包,参见:Kylin上qt开发应用打包步骤(一)通过ldd查看应用程序使用到的链接库,然后手动将所有so复制到统一的lib文件夹(自定义的lib),然后指定加载动态的环境变量LD_LIBRARY_PATH,报的错参考:Kylin上qt开发应用打包步骤(二)将qt安装在程序安装的目录结构中,将整个qt的gcc库全部复制到应用程序中,进行打包原创 2021-04-28 21:35:18 · 1482 阅读 · 0 评论 -
KylinV10上qt5.9开发应用打包步骤(二)
文章目录报错1报错2报错3报错1linux系统下Qt5编译好的程序在未安装Qt的系统下运行会报以下错误:This application failed to start because it could not find or load the Qt platform plugin “xcb”.Reinstalling the application may fix this problem.出现这个错误,主要是因为qt5为了在多平台下更方便移植,使用了一种新的技术-----platform ab原创 2021-04-28 21:32:44 · 1329 阅读 · 0 评论 -
KylinV10上qt5.9开发应用打包步骤(一)--linuxdeployqt 报错解决
文章目录报错1报错2报错3报错4报错5报错6报错7报错8报错1tlx@TLX001:bin$ linuxdeployqt DSafeShare -appimagelinuxdeployqt 6 (commit d41e234), build 724 built on 2020-07-31 15:51:47 UTCFHS-like mode with PREFIX, fhsPrefix: "/home/tlx/dsafeshare_mac_UI"app-binary: "/home/tlx/dsaf原创 2021-04-28 21:31:12 · 2248 阅读 · 2 评论 -
QWebEngineView如何忽略SSL证书错误
QWebEngineView如何忽略SSL证书错误最近用QT写客户端软件,思路是使用QWebEngineView来绘制本地的html或者服务器上的html做界面展示。可是发现QWebEngineView在Load一个https的URL的时候,由于ssl证书不可信导致提示有错误,无法显示内容,在QWebEngineView这个类里面找了半天都没看到忽略SSL证书错误的方法,后面终于找到了,原来在藏在QWebEnginePage这个类里面。这里,需要你从QWebEnginePage继承一个类,重写certi原创 2021-04-25 21:41:51 · 1994 阅读 · 2 评论 -
QSystemTrayIcon类使用
QSystemTrayIcon类提供创建托盘和系统提示消息的功能。QSystemTrayIcon类使用相对来说比较简单,网上例程很多,但是这里面也有坑:写托盘代码一定要加托盘图标进去,否则你不知道你的托盘是否正确显示了,(没显示或者显示了没看到)测试代码中可以将托盘图标的路径写为绝对路径,来验证代码是否正确QSystemTrayIcon类的实例一定要是成员变量,不能是局部变量,否则不能正确显示示例代码如下:mainwindown.c#include "mainwindow.h"#inclu原创 2021-04-25 21:40:22 · 1024 阅读 · 0 评论 -
macOS平台下捕捉doker点击事件
在mac平台中,有的关闭软件点击关闭之后,并不会真的关闭,而是进入后台模式,就是在docker栏软件下面会有一个小点,这时点击软件图标,会重新弹出软件界面,在qt环境中,还需要接住mac的系统来做一些事情,才能达到这个效果,需要添加如下内容将下列代码单独封装成一个DockerHandler.h文件:#ifndef DOCKERHANDLE_H#define DOCKERHANDLE_H#include <QDebug>#include "widgetsManager.h"#if原创 2021-04-25 21:39:43 · 417 阅读 · 0 评论 -
Qt QDropEvent拖拽事件 拖拽打开文件
文章目录主要思路:重写 void dragEnterEvent(QDragEnterEvent *e); void dropEvent(QDropEvent *e);根据获取的文件名,打开文件,读文件。源代码:main.cpp#include #include "mainwindow.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); MainWindow w; w.s原创 2021-04-25 21:38:55 · 863 阅读 · 0 评论 -
Qt--QWebSocket判断是否连接成功
使用QWebsocket去连接server,首先在构造函数中做槽连接HMWebSocket::HMWebSocket(QObject *parent) : QObject(parent){ connect(&socketClient,SIGNAL(connected()),this,SLOT(onConnected())); connect(&socketClient,SIG原创 2017-04-09 22:04:06 · 13467 阅读 · 4 评论 -
sqlite报错处理--“out of memory Error opening database”
使用SQLite数据库在open时报错“out of memory Error opening database”?关于该错误,需要有以下几个注意的点,认真检查,便可解决:1.该路径下有没有相关的数据库,或者该表2.确认该路径下有表存在,仔细检查调用的路径字符串的拼写是否错误3.查看数据库的权限,是否为可读可写原创 2017-04-09 22:09:02 · 6482 阅读 · 0 评论 -
Qt---log日志框架(1)
打印log经常会用到,这是架构中的一部分,也必须要掌握。做一个良好的架构。.h文件#include #include #include #include #include class Log : public QObject{ Q_OBJECTpublic: explicit Log(QObject *parent = 0); void原创 2017-04-17 16:50:11 · 7743 阅读 · 0 评论 -
Qt错误锦集--Connection refused
照着书上的例程敲了一个文件传输的tcp程序,但是却出现了Connection refused这个错误,我使用的环境是win7+qt mingw server.cpp#include "server.h"#include "ui_server.h"#include Server::Server(QWidget *parent) : QMainWindow(par原创 2017-04-17 22:10:05 · 5973 阅读 · 4 评论 -
Qt错误锦集--Cannot retrieve debugging output
描述:Qt Creator的问题,两个IDE同时打开,后打开的会出现这个情况解决方案:只打开一个IDE。转载 2017-04-17 22:12:44 · 994 阅读 · 0 评论 -
QML中的JavaScript用法详解(一)-----在qml中将字符串类型数据转换为整型数据
在c++中,context下发一组数据,是字符串型的,但是我需要在qml中进行判断,所以要将字符型数据转换为整型。查找js中将字符串转换为整型的方法,参照js的方法,使用Numbwe()函数,强制类型转换,实现了该需求。 //交易记录中的交易类型判断 function tradeRecordTradeType(type) { var typeNum原创 2017-05-11 16:46:23 · 13187 阅读 · 0 评论 -
Qt:通过QML Profiler分析程序性能问题
对于一个程序的开发,性能优化是开发中的一个重要步骤。我们肯定不希望开发出来的程序表现出卡顿,最好是处处流畅,丝滑般的体验。对于C++程序,我们有很多方法可以做性能优化,例如Visual Studio Profiler。而对于QML(QtQuick)程序,我们可以选择QML Profiler,这是QtCreator的一个功能。那么QML Profiler是什么呢,官方转载 2017-05-14 14:19:40 · 1766 阅读 · 0 评论 -
Qt---log日志框架(2)从性能考虑文件操作
做了一个小的测试工具,可以查看log,点击查看log,会选择系统默认的编辑器打开log,同时就问了我一个问题,为什么打开log后,删除文件内的日志,在产生的日志就不能写到日志里了?对于这个问题,是由于在写入日志的时候,只打开了一次log,对log做操作,破换了log,所以不能继续写入。要解决这个问题,只需要在写入log时,每次打开一次文件即可。但是,随之而来的问题便是频繁的对文件执行打开操作与只打原创 2017-05-09 22:04:32 · 2916 阅读 · 0 评论 -
状态机思路在程序设计中的应用
状态机思路在单片机程序设计中的应用状态机的概念状态机是软件编程中的一个重要概念。比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。比如说一个按键命令解析程序,就可以被看做状态机:本来在A状态下,触发一个按键后切换到了B状态;再触发另一个键后切换到C状态,或者返回到A状态。这就是最简单的按键状态机例子。实际的按键解析程序会比这更复杂些转载 2017-06-09 14:35:12 · 1144 阅读 · 0 评论 -
读取身份证
这份代码,主要是根据api文档来写的,文档上提供了各个方法的使用说明,并且有一个示例代码。以及网上找到的代码。 首先,需要2个dll,sdtapi.dll,用来读取身份证上的基本信息;WltRS.dll,用来解析照片,身份证上的照片。这两个文件放在bin目录的debug中,或者release中。然后对于sdtapi.dll该动态链接库,若用的是2004年左右的,需要一个temp.li转载 2017-07-17 17:21:34 · 4202 阅读 · 0 评论 -
Linux下QT中执行shell命令
当需要在QT中执行shell命令时可以利用以下方法:(1)首先包含头文件:#include (2)执行shell命令:QProcess::execute("ls");/////////////////////#include void Widget:on_pushButton_clicked(){//* system("ls");//调用L转载 2017-07-25 21:46:14 · 21446 阅读 · 0 评论 -
QtDesigner--QTabWidget标签页
刚刚使用designaer,还不是很懂,把一些简单的记录下来,毕竟是第一次,大牛看到不要笑。想要在控件中放置一个分页,怎么也找不到,看帮助文档,发现是QTabWidget,在控件中进行搜索,便有了,有了控件后,将控件插入到画布中,做好控件后,在cpp中编写代码Tabwidget::Tabwidget(QWidget *parent) : QD原创 2017-04-06 23:04:11 · 11632 阅读 · 11 评论