jinshiyi95 发表于 2022-8-18 01:17:32

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

手册里有关于QT程序在LVDS屏显示的方法,项目要求在HDMI屏幕上显示一些简单的数据和传感器信息,用QT写好程序后怎么才能让它显示在HDMI屏幕上呢?

Q_Y_X 发表于 2022-8-18 18:03:48

首先了解一下您的项目需要用到几块屏,如果只是一个hdim的话,只要在uboot阶段将lvds和mipi关掉就好了。

sxx123 发表于 2022-8-20 17:21:01

我也想问这个问题,我想请教多屏同时存在时的多屏异显的实现方法,在官方手册里并没有找相关说明,还请给个实现的例子,十分感谢!!!

sxx123 发表于 2022-8-20 17:22:39

就拿OKMX8MPQ开发板,三个屏同时使能的情况下,三个屏异显的实现来说明下,谢谢

Q_Y_X 发表于 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();    });}桌面只能启动一个应用,启动一个应用后桌面消失。同时启动两个应用的方法可以是先设置一个应用自启动,另一个在桌面启动或者两个应用都设置自启动,但是两个应用都不可以退出到桌面。自启动的方法可以同时启动两个甚至更多的应用,设置好应用窗口的大小和位置就可以同时使用多个应用。

页: [1]
查看完整版本: OKMX8MPQ-C开发板QT在HDMI屏显示的问题