关于 qml开发中使用Image元素切换图片闪黑屏 的解决方法

简介: 关于 qml开发中使用Image元素切换图片闪黑屏 的解决方法

异常

       鼠标点击切换图片(开关声音)时黑屏,每次启动应用第三次切换黑屏(原本是开->关->开->关),只要是全屏就会黑屏(不全屏不闪黑)

001.gif

异常核心代码

main.cpp

    MainWindow w;
    w.showFullScreen();

mainwindow.cpp

    // 加载qml
    _pQuickView = new QQuickView();
    _pQuickView->setSource(QUrl("qml/welcome.qml"));
    _pQuickWidget = QWidget::createWindowContainer(_pQuickView, this);
    _pQuickWidget->setGeometry(rect());
    _pQuickWidget->show();

qml/welcome.qml

import QtQuick 2.2
Item {
    property bool mute: false;
    Image {
        id: volume;
        width: 24;
        height: 24;
        anchors.right: close.left;
        anchors.rightMargin: 24;
        anchors.bottom: close.bottom;
        source: mute?"../images/no_sound.png":"../images/sound.png";
        MouseArea {
            anchors.fill: parent;
            onClicked: {
                mute = !mute;
            }
        }
    }
}

解决方法1

       直接将Image元素换成AnimatedSprite

import QtQuick 2.2
Item {
    property bool mute: false;
    AnimatedSprite{
        id: volume;
        width: 24;
        height: 24;
        anchors.right: close.left;
        anchors.rightMargin: 24;
        anchors.bottom: close.bottom;
        source: mute?"../images/no_sound.png":"../images/sound.png";
        MouseArea {
            anchors.fill: parent;
            onClicked: {
                mute = !mute;
            }
        }
    }
}

2.gif

解决方法2(推荐)-2017年12月8日

       升级Qt版本5.9.3,自身修复了很多bug




相关文章
|
12月前
【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)
【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)
107 0
Magisk模块:阴影截图可切换带壳截图
一款自动为截图套上阴影边框的面具模块 使用模块自动完成截图后的套阴影操作 如果不想使用阴影方式,也可以切换为带壳,壳子可以自定义 还有更多3D壳子可供选择
219 0
|
iOS开发
iOS开发 - 滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
iOS开发 - 滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
170 0
iOS开发 - 滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
|
前端开发 JavaScript Serverless
移动端弹出阴影遮罩的几点问题和解决方法
在做移动端的立即购买页面时,点击底部固定栏立即购买按钮需要弹出一个阴影遮罩,在遮罩顶部有一个固定在底部的页面,所以总共是3层页面:最底层浏览页->阴影遮罩页->最上层的立即购买选择规格数量页;效果如下图:
204 0
移动端弹出阴影遮罩的几点问题和解决方法
案例分享:Qt九宫格图片资源浏览器(支持window、linux、兼容各国产系统,支持子文件夹,多选,全选,图片预览,行数与列数设置等)
案例分享:Qt九宫格图片资源浏览器(支持window、linux、兼容各国产系统,支持子文件夹,多选,全选,图片预览,行数与列数设置等)
案例分享:Qt九宫格图片资源浏览器(支持window、linux、兼容各国产系统,支持子文件夹,多选,全选,图片预览,行数与列数设置等)
|
存储 程序员 图形学
Win知识 - 程序是怎样跑起来的——文字及图片的显示机制
Win知识 - 程序是怎样跑起来的——文字及图片的显示机制
184 0
Win知识 - 程序是怎样跑起来的——文字及图片的显示机制
QT应用编程: QSlider设置滚动块定位到鼠标点击的地方
QT应用编程: QSlider设置滚动块定位到鼠标点击的地方
476 0
QT应用编程: QSlider设置滚动块定位到鼠标点击的地方
|
调度 Windows
Mac 技术篇-触发角功能设置一步回到桌面、快速锁屏、展示启动图应用列表
Mac 技术篇-触发角功能设置一步回到桌面、快速锁屏、展示启动图应用列表
154 0
Mac 技术篇-触发角功能设置一步回到桌面、快速锁屏、展示启动图应用列表
|
iOS开发
iOS开发遇到的屏幕上下闪出黑边的解决方法
iOS开发遇到的屏幕上下闪出黑边的解决方法
190 0
iOS开发遇到的屏幕上下闪出黑边的解决方法