Исчезать в целом приложение с QML - PullRequest
3 голосов
/ 25 апреля 2019

Как я могу исчезнуть во всем приложении? Я попытался использовать OpacityAnimator в следующем коде:

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    id: mainWindow
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    OpacityAnimator
    {
        id: animator
        target: mainWindow;
        from: 0;
        to: 1;
        duration: 10000
        running: false
    }

    Rectangle
    {
        x: 0
        y: 0
        width: 200
        height: 200
        color: "black"
    }
}

Но это не работает. Сообщение об ошибке:

W libFinal.so: qrc:/main.qml:15:9: Unable to assign QQuickWindowQmlImpl to QQuickItem

Ответы [ 2 ]

4 голосов
/ 25 апреля 2019

OpacityAnimator в качестве ошибки указывает как цель на QQuickItem, но Window - нет. Что вы должны передать contentItem :

OpacityAnimator
{
    id: animator
    target: mainWindow.contentItem // <---
    from: 0
    to: 1
    duration: 10000
    running: true
}
1 голос
/ 25 апреля 2019

Вместо него можно использовать NumberAnimation:

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    id: mainWindow
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
    opacity: 0

    NumberAnimation on opacity {
        from: 0
        to: 1
        duration: 1000
        running: true
    }

    Rectangle {
        x: 0
        y: 0
        width: 200
        height: 200
        color: "black"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...