关于 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




相关文章
|
图形学
unity判断鼠标在不在UI上
unity判断鼠标在不在UI上
Three.js开发:修改默认鼠标操控
Three.js开发:修改默认鼠标操控
221 0
|
7月前
|
Linux 索引
Linux中使用selenium截图的文字变为方框的解决方案
Linux中使用selenium截图的文字变为方框的解决方案
150 1
|
小程序 UED
微信小程序轮播图image控件图片mode属性自适应及解决图片加载闪烁bug
微信小程序轮播图image控件图片mode属性自适应及解决图片加载闪烁bug
426 0
|
小程序 前端开发 程序员
让别人的小程序长成自己的样子-更换window上下颜色--【浅入深出系列001】
让别人的小程序长成自己的样子-更换window上下颜色--【浅入深出系列001】 这是我的CSDN 的文章 转过来,可能有些许错误。请留言
【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)
【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)
168 0
|
前端开发 JavaScript Serverless
移动端弹出阴影遮罩的几点问题和解决方法
在做移动端的立即购买页面时,点击底部固定栏立即购买按钮需要弹出一个阴影遮罩,在遮罩顶部有一个固定在底部的页面,所以总共是3层页面:最底层浏览页->阴影遮罩页->最上层的立即购买选择规格数量页;效果如下图:
233 0
移动端弹出阴影遮罩的几点问题和解决方法
|
存储 程序员 图形学
Win知识 - 程序是怎样跑起来的——文字及图片的显示机制
Win知识 - 程序是怎样跑起来的——文字及图片的显示机制
224 0
Win知识 - 程序是怎样跑起来的——文字及图片的显示机制
|
C#
WPF 鼠标在图片Image上悬停时切换更改设置图片源Source
// 无效的写法,图片不会被切换 ...
2401 0
小程序 - swiper除了左右切换还有上下滚动超出屏幕的内容
本来呢,我是有专门整理小程序恶心bug的文章的,每次只要添加汇总就好, 但是呢,鉴于这个问题的恶心程度,所以我把他单独拿出来说了。 ——————————————--------------------------------------------------产品经理都说恶心的需求---------...
2385 0