嵌入式爱好者

查看: 4063|回复: 4

[Linux] OKMX8MPQ-C开发板QT在HDMI屏显示的问题

[复制链接]

2

主题

4

帖子

18

积分

i.MX8MP通行证

扫一扫,手机访问本帖
发表于 2022-8-18 01:17:32 | 显示全部楼层 |阅读模式
手册里有关于QT程序在LVDS屏显示的方法,项目要求在HDMI屏幕上显示一些简单的数据和传感器信息,用QT写好程序后怎么才能让它显示在HDMI屏幕上呢?
回复

使用道具 举报

0

主题

124

帖子

402

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证i.MX8MP通行证RK3568通行证RK3588通行证RK3399通行证LS1028A通行证G2L通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2201通行证FCU2301/FCU2302通行证FCU2401通行证5G转接卡通行证FCU3001通行证AM5718通行证Hi3519A通信证AM335x通行证i.MX RT通行证XX18通行证AM62x资料下载FDU070K02\FDU101K02通行证i.MX9352通行证

发表于 2022-8-18 18:03:48 | 显示全部楼层
首先了解一下您的项目需要用到几块屏,如果只是一个hdim的话,只要在uboot阶段将lvds和mipi关掉就好了。
点评回复 支持 反对

使用道具 举报

3

主题

10

帖子

86

积分

i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证i.MX8MP通行证RK3568通行证RK3588通行证

发表于 2022-8-20 17:21:01 | 显示全部楼层
我也想问这个问题,我想请教多屏同时存在时的多屏异显的实现方法,在官方手册里并没有找相关说明,还请给个实现的例子,十分感谢!!!
点评回复 支持 反对

使用道具 举报

3

主题

10

帖子

86

积分

i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证i.MX8MP通行证RK3568通行证RK3588通行证

发表于 2022-8-20 17:22:39 | 显示全部楼层
就拿OKMX8MPQ开发板,三个屏同时使能的情况下,三个屏异显的实现来说明下,谢谢
点评回复 支持 反对

使用道具 举报

0

主题

124

帖子

402

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证i.MX8MP通行证RK3568通行证RK3588通行证RK3399通行证LS1028A通行证G2L通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2201通行证FCU2301/FCU2302通行证FCU2401通行证5G转接卡通行证FCU3001通行证AM5718通行证Hi3519A通信证AM335x通行证i.MX RT通行证XX18通行证AM62x资料下载FDU070K02\FDU101K02通行证i.MX9352通行证

发表于 2022-8-22 09:47:41 | 显示全部楼层
大体思路就是在应用的源码种修改窗口位置和大小。
应用显示在第二块屏幕以及其他位置:
参考代码如下(源码fltest_qt_backlight),红色即为调整应用窗口的大小和位置:
MainWindow::MainWindow(QWidget*parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QRect deskTopRect =qApp->desktop()->availableGeometry();
    int allw = deskTopRect.width(); //获取第一块屏幕的宽
    this->resize(1024,600);  //设置应用窗口的大小宽1024,高600(我的屏幕分辨率是1024*600
    this->move(allw,0);  //设置窗口左上角的位置,因为两块屏幕是连起来的,示意图如下
     setWindowFlags(Qt::FramelessWindowHint |Qt::WindowTitleHint | Qt::WindowCloseButtonHint);  // 取消边框和最大化、最小化、关闭按键
   connect(ui->slider,SIGNAL(valueChanged(int)),this,SLOT(sliderchanged(int)));
              
              fd_rgb =::open("/sys/class/backlight/backlight-rgb/brightness",O_RDWR|O_NONBLOCK);
              fd_lvds = ::open("/sys/class/backlight/backlight-lvds/brightness",O_RDWR|O_NONBLOCK);
              ui->slider->setMinimum(1);
    ui->slider->setValue(200);
              connect(ui->exitBtn,&QPushButton::clicked, this, [=](){
    close();
    });
}
桌面只能启动一个应用,启动一个应用后桌面消失。同时启动两个应用的方法可以是先设置一个应用自启动,另一个在桌面启动或者两个应用都设置自启动,但是两个应用都不可以退出到桌面。
自启动的方法可以同时启动两个甚至更多的应用,设置好应用窗口的大小和位置就可以同时使用多个应用。


点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-20 20:06

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表