gpt4 book ai didi

qt - 全屏时 QML 窗口不透明度不起作用

转载 作者:行者123 更新时间:2023-12-04 13:59:02 24 4
gpt4 key购买 nike

我遇到了一个奇怪的问题:当 QML Window 全屏时,它的 opacity 属性不起作用,因此窗口保持不透明。当窗口不是全屏(例如最大化)时,它可以正常工作。

您有什么想法可以解决这个问题吗?事实上,我想为全屏窗口淡入设置动画。

代码:

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。

最佳答案

这是 Qt/Win 组合的一个由来已久的错误 - 具有 OpenGL 上下文的窗口,如果不使用技巧就无法透明化。解决方案是将您的 QML 应用程序嵌入到 QQuickWidget 中,并使其透明和全屏显示。还有另一种解决方法(使用不可移植的“DWM”API - 您可以在错误描述中阅读它)。

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

关于qt - 全屏时 QML 窗口不透明度不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24340441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com