gpt4 book ai didi

QtQuick 2 透明窗口背景

转载 作者:行者123 更新时间:2023-12-02 03:15:38 26 4
gpt4 key购买 nike

我一直在寻找如何使我的QtQuick 2.0应用程序的背景透明。我发现的大多数答案都使用 QtDeclarative,这适用于 QtQuick 1.0,但不适用于版本 2。

最后我找到了一个答案,我将发布但我想知道是否有更好/更简单/更小的方法来完成此任务。

注意*

我想让窗口的背景透明。有些人建议 setOpacity 但这会使所有 qml 元素透明。

最佳答案

我在这篇文章中找到了解决方案 http://qt-project.org/forums/viewthread/18984/#106629由比卢帕里斯。他使用 QtCreator 生成的主应用程序模板,这非常方便。注意:我对原始代码做了一些修改,使其更小。

#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#include <QSurface>
#include <QSurfaceFormat>
#include <QDebug>

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

QtQuick2ApplicationViewer viewer;

// Make Background Transparent Start
viewer.setSurfaceType(QSurface::OpenGLSurface);

QSurfaceFormat format;
format.setAlphaBufferSize(8);
format.setRenderableType(QSurfaceFormat::OpenGL);

viewer.setFormat(format);
viewer.setColor(QColor(Qt::transparent));
viewer.setClearBeforeRendering(true);
// Make Background Transparent Stop

viewer.setMainQmlFile(QStringLiteral("qml/myProject/main.qml"));
viewer.showExpanded();
return app.exec();
}

还要确保根 qml 元素具有 alpha 颜色 (Qt.rgba)

关于QtQuick 2 透明窗口背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22554796/

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