在上一篇博客中已经实现了一个简单的插件和测试程序的编写,但是插件跟应用是分开独立的工程。实际应用开发中需要把相关的库和头文件打包到一个工程中,如下图所示,这样比较方便调试开发,也为创建跨平台工程提供了便利。
【注】使用 linuxdeployqt 工具首先要保证当前系统已经配置好相应的 Qt 环境。
前面的几篇文章,介绍Qt例程,都是和硬件无关的,Windows平台和嵌入式平台都能运行。
回顾上一次的Qt开发流程,整个Qt的开发都是通过敲代码实现的,实际上,还可以利用Qt Creater的UI界面功能,通过图像化的配置来开发图形界面,本篇就使用这种方法来进行开发。
有些嵌入式设备会有一块显示屏,用来显示各种图案、按钮等元素,单片机里常见的UI有emWin、TouchGFX等。Linux里常用QT,Qt是一个跨平台个C++应用程序开发框架。广泛用于开发GUI程序。QT在Windows平台下用来做一些上位机也非常好,使用起来方便简单,同时又开源免费。本篇给大家简单介绍NUC972 平台QT的移植及简单示例,希望对大家有所帮助。
OpenCV2报错:Could not find the Qt platform plugin "cocoa" in "" 一.背景信息 二.错误现象 三.解决方法 一.背景信息 OpenCV是一个
多年来一直使用xpad作为桌面记事贴,记记待办事项,常用命令什么的。随着记录的东西增多,xpad的一个缺点就显示出来:不能为单张贴纸改变背景色和设置名称,看着满屏幕的黄色贴纸,还得一个个去找自己要的那张。而且系统升级到debian 11后xpad只能停留在屏幕中央了,网上找了一遍,发现很多所谓某年度几个最好几个stick都是基于ubuntu PPA发行的(随便说下,xpad通常还是排在第一位)。有一阵子我都打算自己学习开发写一个记事贴纸了,所以有意无意的看了点Linux桌面程序开发,但也只是知道了tk,qt这些框架。
QThread类提供一种独立于平台的线程管理方式。 一个QThread实例管理程序中的一个线程。QThread的执行开始于run()。默认情况下,run()通过调用exec()启动事件循环,并在线程内运行Qt事件循环。
一、最近这家公司接到一个订单,客户使用到国产操作系统,意味着需要使用到 Linux 系统,于是乎,之前的东西又要捡起来,而且,平时代码主要是windows 平台,这次需要将代码移植到linux 平台,并且,由于这家公司主要买设备,因此,需要使用一些Demo 测试软件,而在linux 平台,目前主流的GUI 程序编写主要用到 QT ,因此,需要安装QT. 第一次尝试在linux 使用QT 安装过程遇到非常多问题,因此,这篇文章记录下,如何在 Ubuntu 下安装QT.
在本篇技术博客中,我们将深入探讨Qt平台插件初始化失败的问题:“This application failed to start because no Qt platform plugin could be initialized.” 我们的目标是提供一个详细的解决方案指南,涵盖各种操作系统。通过阅读本文,您将学习到关键的故障排除步骤和配置技巧,适合所有级别的开发者,从新手到高级开发者。文章内容丰富,包括实用的代码示例和操作命令,确保每位读者都能轻松解决这一常见问题。主要关键词包括:Qt错误解决、Qt平台插件、软件配置、系统依赖、环境变量设置等。
需要注意的是,这里面定义了一个 Ui_Pic 类 , 这个类我们之前在 pic.h 中见过
写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行。查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打包。
Node.js是一个用于在服务器端运行JavaScript的运行时环境,用于构建高性能的网络应用程序。
在实现类似于Free IP Scanner 2.1的Ip扫描器软件中,会用到ping命令。如果使用Qt编程实现,主要会用QThread、QProcess这两个类。关于这两个类的具体用法可以查阅Qt助手或者QT官网。
上篇文章:嵌入式Linux-Qt环境搭建,介绍了如何搭建在Linux开发板中搭建Qt的运行环境,并测试了Qt自带的例程。
从中可知,这是一个 XML 文件 内容是在描述各个控件的参数 Qt 就是通过这些参数来绘制图形的 代码示例 main.cpp #include <QtGui/QApplication> //QApplication 类管理图形用户界面应用程序的控制流和主要设置 #include <QtCore/QTextCodec> //用来进行字符集转化 #include "pic.h" int main(int argc, char** argv) { QApplication app(argc, argv); /
Qt 里的 Qt Network 模块,提供了一些类,让网络编程变得更容易,且支持跨平台。
本编利用Qt实现一个网络摄像头功能,包含一个服务端和一个客户端,服务端用于将USB摄像头转换为一个IP摄像头,当有客户端连接时,将其捕获到的图像通过TCP发送出去;客户端运行在Linux板子上,用于查看摄像头的实时画面。
OpenCV在ubuntu下的编译方法:https://blog.csdn.net/xiaolong1126626497/article/details/105278882
为了帮助准备过渡到Qt 6,在Qt 5.15版本中已将许多将从Qt 6.0中删除的类和成员函数标记为已弃用。除非您在项目中定义QT_NO_DEPRECATED_WARNINGS,否则对于使用任何不推荐使用的API的代码,您都会收到编译器警告。这些警告将说明要改用哪个API。要完全禁用所有不推荐使用的API,请使用QT_DISABLE_DEPRECATED_BEFORE宏。
用qt开发商业程序已经十年了,陆陆续续开发过至少几十个程序,除了一些算不算项目的小工具外,大部分的程序都需要有个日志的输出功能,希望可以将程序的运行状态存储到文本文件或者数据库或者做其他处理等,qt对这个日志输出也做了很好的封装,在Qt4是qInstallMsgHandler,Qt5里边是qInstallMessageHandler,有了这个神器,只要在你的项目中所有qdebug qinfo等输出的日志信息,都会重定向接收到,网上大部分人写的demo都是接收到输出打印日志存储到文本文件,其实这就带给很多人误解,容易产生以为日志只能输出到文本文件,其实安装了日志钩子以后,拿到了所有调试打印信息,你完全可以用来存储到数据库+html有颜色区分格式的文件+网络转发输出(尤其适用于嵌入式linux无界面程序,现场不方便外接调试打印的设备)。
在QT for Windows 下编程时,经常因为一些中文路径、带空格的路径导致一些问题出现。
在Linux环境下搭建QT的Android开发环境,开发了一款APP想部署安装在实体手机设备上。
注 意 : 此 章 节 测 试 需 要 外 接 LCD 屏 幕 才 可 以 进 行 测 试 验 证 , LCD 模 块 介 绍 请 参 考 页 面 http://download.100ask.org/modules/Lcd/100ask_imx6ull_7-inch_LCD/
QProcess允许将进程视为I/O设备。可以像使用qtcsocket访问网络连接一样对进程进行写入和读取。然后可以通过调用write()写入进程的标准输入,并通过调用read()、readLine()和getChar()读取标准输出。因为QProcess继承了QIODevice,所以它还可以用作QXmlReader的输入源,或者用于生成要使用QNetworkAccessManager上载的数据。
目前官网OpenCV最新的版本是4.2.0 ,Windows版本的OpenCV在3.X版本后就不带X86的库,只有X64的库,如果需要X86的库,需要自己下载源码去重新编译。
本人写Qt程序这么多年,比较喜欢支持多个Qt版本,尤其是钟情于支持任意Qt版本+任意系统+任意编译器,这句话说起来简单其实实现起来就不容易了,首先你得有个很多版本的测试环境,起码十几个Qt环境要的吧,四五种操作系统要的吧,还要安装各种VS版本免不了的,毕竟win上除了默认的mingw编译器还有很多人用的是msvc编译器,这么一大堆环境折腾下来,没有个1T硬盘是不够的,而且官网发布Qt版本的速度相当快,最慢半年肯定来一个版本,又得测试了,每次发布一个大的版本,除了常用的windows以外,linux要测试吧,而且现在还多出来一些国产linux系统比如deepin new start UOS之类的,也要试试吧,哎呀好累。
基于QT的QTcpServer类实现简单的HTTP服务器Tinyhttpd。代码存放在Github。
之前的文章,分别有介绍过使用Qt程序实现一个时钟和一个秒表,本篇,来将这两个功能整合在一起,实现两个页面的随意切换,并且两个页面能独立运行,互不影响。
之前用ffmpeg解码出来了音频,只是做了存储部分,比如存储成aac文件,播放的话早期用的是sdl来播放音频,自从Qt5以后提供了QAudioOutput来播放输入的音频数据,就更加方便了,可以直接将解码好的音频数据写入就能播放了,这些就少了个学习sdl的成本,而且和Qt就更加融合,不需要额外的第三方库,解码好的视频,其实就是一张张图片数据,可以直接用QPainter绘制或者QOpenGlWidget通过GPU显示,解码好的音频用QAudioOutput播放,这对于很多初学者来说,是个很好的消息,完美。
在软件开发中进行有需求需要将生成的一些文件打包上传到服务器,或者从服务器下载压缩包下来内部解压。或者自己做一些打包工具,那么使用zlib开源就可以很方便的完成。接下来介绍在zlib在Linux(Ubuntu18.04)下如何利用Qt进行编译,调用,完成zip文件打包生成例子。可以单文件压缩打包,多文件压缩打包,目录压缩打包等等。
脚本同级目录下有一个标准的项目工作目录,此目录是为了提供一个标准的工程项目模板而存在的,结构如上述脚本构建的标准项目目录。而脚本的工作原理就是通过读入你设置的工程名和可执行文件名之后复制一份标准工程目录然后通过字符串定位修改相应值从而产生一个新的通用编辑器的工程了。
需在Qt->Projects->Build Steps->Additionals arguments 配置变量,如图
Xilinx为MPSoC支持4种libMali的backend: X11, Wayland/GBM, Fbdev, Headless-EGL.
QT版本: 5.12.6 (我的程序里主要是QT+OpenCV实现图像处理显示的)
总体而言,HTTP服务器适用于传统的客户端-服务器通信,每次请求都需要重新建立连接,适合请求响应式的场景。WebSocket服务器适用于需要实时双向通信的场景,适合聊天应用、实时数据更新等。
我在github仓库里面看到之前遗留的Qt_Demo,把文章相应的工程文件提交到仓库里面去,上次的简易聊天室也同步过去了,以及这篇文章的两个线程Demo。
布局方案在整个数据可视化大屏界面电子看板系统中,是除了基础功能以外的核心功能之一,只有具备了布局方案这个功能,才能让用户随意调整自己想要的布局,保存成自定义名称的布局配置文件,这样就大大增加了灵活性,可以更好的适应各种分辨率,毕竟客户的电脑运行环境各种各样的都有,模块数量众多,有些不想展示,有些需要特别放大展示,有些需要偶尔全屏展示等,这些布局用户都可以自己定义好保存配置方案,存储到指定的目录下,下次启动会自动生成对应的布局菜单文件让用户自行选择切换。
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?,接下来是等是否正常。继续测试教程(3)的测试板卡的SATA接口、USB接口读写、USB HOST模式测试、USB DEVICE模式、串口测试等测试部分,接下来是CAN测试、VGA接口、7英寸LCD触摸屏、10.4英寸LVDS触摸屏、7英寸MIPI触摸屏等测试部分是否正常。
简书是个学习的好网站, 我大多只关注首页上的人们文章, 但是最近因为忙错过了很多首页上的文章,所以有了想法把每天的热门top生成mobi推送到kindle。这样在地铁上也能快速翻完.
能够接收摄像机的报警事件,比如几乎所有的摄像机后面会增加报警输入输出接口,如果用户外接了报警输入,则当触发报警以后,对应的事件也会通过onvif传出去,这样就相当于兼容了所有onvif摄像机厂家的报警事件接收,在一些应用系统中,这个功能也是很常见的。接收摄像机的报警信息一般有两种处理方式,一种是订阅,订阅以后摄像机会在请求后一直阻塞等待,如果有新的报警信息则立即返回,否则需要到超时时间才会断开连接请求;还有一种是定时器主动轮询,不断的去询问是否有新的报警事件。关于订阅要阻塞等待的问题,这就涉及到另一个问题,一般Qt默认的并发请求最大6个(貌似这玩意好多浏览器也是这个规约,不知为何这么限定,为了节约系统资源?)这就意味着订阅机制下,最大只能有6个摄像机的报警事件订阅存在,超过就不行,除非有空闲的连接请求断开了,所以很多开发者会选择用其他的http post工具比如curl去处理。
前段时间我又把Gnome桌面版的manjaro更新崩溃了,自己修复完了以后发现还是有不少小问题。鉴于博主强迫症比较严重无法忍受,于是换了各种桌面版的manjaro最终决定用回第一次用过的kde桌面版本。由于每一次更新都要配置一堆东西,比较麻烦,记录一下初始使用的过程,以便于后续自己重装系统不用再继续百度了emmmm。更新时间2019-11-24
叫场景树更合适,本质不是图。QML场景中的Qt Quick项目将填充QSGNode实例树。
一般我将ctrl+alt+L或者shift+alt+L来展开和折叠所有代码块,方便快速定位函数位置。(这个需要自定义)
在使用 VS code 调试Linux远程代码时报错,could not find or load the Qt platform plugin "xcb",本文记录解决方案。 错误复现 VS code 调试远程代码时报错、 This application failed to start because it could not find or load the Qt platform plugin "xcb". Available platform plugins are: linuxfb, mi
领取专属 10元无门槛券
手把手带您无忧上云