有人知道如何将 Qt::WidgetAttribute 转换为 Qt::WindowFlags 吗???并且通过转换我的意思是是否有任何像 WA_NoBackground 或 WA_TranslucentBackground 这样的 WidgetAttribute 作为 WindowFlags 的标志......???
我一直试图在 QML 中透明我的 ApplicationWindow 项目,但我做不到。
Main.Qml
import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Window 2.0
ApplicationWindow {
title: qsTr("Hello World")
width: 640
height: 480
flags: Qt.SubWindow | Qt.Tool | Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint
opacity: 0.5
Image {
anchors.fill: parent
source: "blah.png" // and this picture in transparent
}
}
并且知道我正在寻找类似 WA_NoBackground 和 WA_TranslucentBackground 的标志
主文件
int main(int argc, char *argv[])
{
Application app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl("blah.qml"));
QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
window->show();
window->setColor(Qt::transparent);
return app.exec();
}