2014-06-21 4 views
3

이상한 문제가 발생했습니다. QML Window이 전체 화면 인 경우 해당 opacity 속성이 작동하지 않으므로 불투명합니다. 창이 전체 화면 (예 : 최대화)이 아닌 경우 제대로 작동합니다.QML 창 불투명도가 전체 화면에서 작동하지 않습니다.

이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 는 사실, 나는 페이드 전체 화면 창을 애니메이션을 적용 할

코드 :.

main.qml

import QtQuick 2.2 
import QtQuick.Controls 1.1 
import QtQuick.Window 2.1 

Window { 
    visible: true 
    visibility: "FullScreen" 

    opacity: 0.5 

    Text { 
     id: text 
     text: "Hello World" 
     font.pointSize: 36 
     color: "#333" 
    } 
} 

MAIN.CPP

#include <QApplication> 
#include <QQmlApplicationEngine> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QQmlApplicationEngine engine; 
    engine.load(QUrl(QStringLiteral("qrc:///main.qml"))); 

    return app.exec(); 
} 

을 Windows 8.1에서 Qt 5.3을 사용합니다.

답변

3

Qt/Win 조합의 오래된 버그입니다. OpenGL 컨텍스트가있는 창은 속임수를 쓰지 않고 투명하게 만들 수 없습니다. 해결 방법은 QML 응용 프로그램을 QQuickWidget에 포함시키고 투명하고 전체 화면으로 만드는 것입니다. 또 다른 해결 방법 ('DWM'API 사용 - 이식성이 없음 - 버그 설명에서 읽을 수 있음)이 있습니다.

https://bugreports.qt.io/browse/QTBUG-28214

관련 문제