【Qt QML】VideoOutput被Window覆盖,部署到远程Linux主机与在远程主机直接运行效果不一致

1. 问题

在Linux QML多媒体VideoOutput开发中遇到如下问题:

  • 程序功能:Camera采集视频,VideoOutput显示
  • 直接在Ubuntu Qt Creator中远程部署到开发板运行,显示正常。
  • 但是如果直接到开发板目录中运行,视频被window组件覆盖。
c 复制代码
import QtQuick 2.15
import QtQuick.Window 2.15
import QtMultimedia 5.15
import QtQuick.Controls 2.15

Window {
    width: 500
    height: 1000
    y: 200
    visible: true
    title: qsTr("Hello World")

    VideoOutput{
        width: 300
        height: 200
        fillMode: Image.PreserveAspectFit
        visible: true
        source: _mCamera
    }

    Camera{
        id: _mCamera
    }
}

2. 解决方案

不知道什么原因,暂时的解决方案是用另一个window组件包裹VideoOutput,并将这个window组件的颜色设置为透明,代码如下:

c 复制代码
import QtQuick 2.15
import QtQuick.Window 2.15
import QtMultimedia 5.15
import QtQuick.Controls 2.15

Window {
    width: 500
    height: 1000
    y: 200
    visible: true
    title: qsTr("Hello World")

    Window {
            width: 400
            height: 500
            visible: true
            color: "transparent"
            title: qsTr("Hello World")

            VideoOutput{
                width: 300
                height: 200
                fillMode: Image.PreserveAspectFit
                visible: true
                source: _mCamera
            }
    }


    Camera{
        id: _mCamera
    }
}
相关推荐
阿俊-全栈开发9 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
夜听莺儿鸣12 小时前
502-002_Linux驱动开发模块化编程
linux·驱动开发·模块化编程
wuminyu13 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
m0_3807438713 小时前
C++中的freopen的用法实例详解
开发语言·c++
科力锐品牌君13 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
Escalating_xu13 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
zhangrelay13 小时前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
jimy114 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
m0_3807438714 小时前
PHP 8.3 缓存清除不生效怎么排查
开发语言·php
朝朝辞暮i14 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法