首页 > 编程语言 >QT 程序使用 Framebuffer 显示 UI

QT 程序使用 Framebuffer 显示 UI

时间:2024-04-23 21:11:22浏览次数:24  
标签:QT 渲染 程序 UI Framebuffer 图形 Qt

桌面版本的 Linux 都会带有类似 xorg 这样的图形服务,桌面程序和应用程序的 UI 都是通过图形服务渲染的。但是有些系统为了减少系统体积、提升性能,会把图像服务和没有用到的模块裁剪掉,如:嵌入式系统。

没有图形服务程序就不能直接渲染显示 UI,这时候我们可以使用 Framebuffer 进行渲染。
Framebuffer 也叫帧缓冲,它相当于屏幕的显示内容缓存,修改 Framebuffer 的内容,屏幕显示的内容也会同步修改。

Qt 支持 Framebuffer 显示,在编译 Qt 环境的时候,configure 加上启用 Framebuffer 的参数

-enable-linuxfb
1
运行 Qt 程序的时候指定 Framebuffer 设备

$ sudo ./app -platform linuxfb:fb=/dev/fb0
1
一般默认是 fb0,如果连接多个设备的话,可以把 /dev/fbn 都试一遍,挑一个喜欢的用。

标签:QT,渲染,程序,UI,Framebuffer,图形,Qt
From: https://www.cnblogs.com/kn-zheng/p/18153755

相关文章

  • .pro文件管理qt项目,快捷设置软件名称和版本号
    效果: .cpp文件代码:{ui->setupUi(this);//设置软件名称和版本号QStringversion=QCoreApplication::applicationVersion();QStringname=QCoreApplication::applicationName();QStringverInfo="快捷设置软件名称和版本号-版本:V"+vers......
  • 5款开源、美观、强大的WPF UI组件库
    前言经常看到有小伙伴在DotNetGuide技术社区交流群里提问:WPF有什么好用或者好看的UI组件库?,今天大姚给大家分享5款开源、美观、强大、简单易用的WPFUI组件库。WPF介绍WPF是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的Windows应用。它提供了灵活的布局、数据绑定......
  • 基于 ESPHome 的 3D 打印机舱内控制系统(2): FireBeetle 2 ESP32-C6 + Moonraker Sens
    前言前文配置好了开发环境,本文测试Moonraker的Sensor组件,通过MQTT读取FireBeetle2的DHT温湿度传感器数据并显示到Fluidd网页上。本文涉及的硬件:DFRoborFireBeetle2ESP32-C6迷你开发板DHT22温湿度传感器IICOLED单色显示屏本文涉及的软件:ESPHome2024.......
  • Qt short int 数组大小端转换(qbswap)
    在以下情形中,展示了如何将 shortint 数组从大端序转换为小端序,或者从小端序转换为大端序。1#include<iostream>2#include<cstdint>3intmain()4{5constexprintsize=4;6std::uint16_tarr[size]={0x1234,0x5678,0x9abc,0xdef0};7/......
  • 选 uuid 还是 md5?
    md5我对md5的选用的场景是,接口约定的字段,接收时不能有特殊字符,且服务端无法提供相应的唯一标识符,但能提供某些特定内容,这时候前端可以根据返回的某些特定的内容进行md5转化处理,既保证不会包含特殊字符,又能起到唯一标识的作用。但md5是不可解码的,这样就导致内容不可读性,特......
  • [qt]画网格,过分简单了
    源码:#include<QImage>#include<QPainter>voiddrawLines(QImage&image){QPainterpainter(&image);QPenpen(Qt::black);pen.setWidth(2);  //设置线宽2dotpainter.setPen(pen);//绘制水平线,分8份for(inty=89;y<ima......
  • element-ui 合并行或列 table :span-method(行合并)
    element-ui官网案例:table合并行或列 element-ui官网中关于行合并的例子是根据行号进行合并的,这显然不符合我们日常开发需求,因为通常我们table中的数据都是动态生成的,所以需要做一些修改。我们首先解读一下官网实例中的各参数的意义:objectSpanMethod({row,column,rowInde......
  • Linux下切换qt程序的字母库
    问题: 在程序切换俄语时字符串都显示空白,说明系统中未有俄语字体库,先下载一个带有俄语的字体库,直接放在/usr/lib/fonts/目录下.  俄语可以正常切换显示之后,却改变了其他语言的字体格式解决:     需要在切换语言时也动态切换原始字体库和俄语字体库......
  • Naive UI 2.38.1
    配置字体NaiveUI可以和vfonts配合,你可以简单的引入vfonts中的字体,包含常规字体和等宽字体。只需要在你App的入口文件导入字体,即可调整NaiveUI的字体。注意:不同vfonts字体提供的字重不同,在使用Lato、OpenSans的时候你需要全局调整naive-ui的字重配置。<!--......
  • [数据库] 浅谈mysql的serverId/serverUuid
    [数据库]浅谈mysql的serverId/serverUuid0序情景1:MYSQL数据库的主从复制架构:1主1从MYSQL数据库的binlog应用情况:存在多个基于binlog同步机制的FlinkCdcJob,从MYSQL中增量同步数据某一天,FlinkCdcJob报如下错误:ConnectException:Aslavewiththesameserver_uuid/se......