【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
    }
}
相关推荐
默|笙7 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
沐晓时光7 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
修己xj10 小时前
nslookup 使用指南:两种模式与常用查询技巧
linux
唠玖馆12 小时前
文件系统详解
linux·文件系统·ext2
GeW12 小时前
当Linux内核开始“确定性”,制造高端化才有了底层语法
linux
David猪大卫13 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
星恒随风13 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
fengci.15 小时前
CTF2MISC中等部分
开发语言·前端·学习
StarsGreen16 小时前
libva在intel平台上的前端流程简介
linux
xys_67816 小时前
JavaEE通关手册:初识Java
java·开发语言