Как сделать прозрачное окно с помощью Qt Quick?

Есть ли способ сделать окно приложения qml прозрачным ?

Я ищу подробное описание того, как рисовать простые формы с помощью qml, делая окно приложения прозрачным, а также фон. Демонстрация рабочего исходного кода была бы потрясающей.

22
задан karlphillip 30 September 2011 в 16:09
поделиться

1 ответ

Я наконец-то нашел простой способ нарисовать пару красных / синих прямоугольников, оставив окно прозрачным.

enter image description here

draw_rectangles.qml

import Qt 4.7

Item {
     Rectangle {
         opacity: 0.5
         color: "red"
         width: 100; height: 100
         Rectangle {
             color: "blue"
             x: 50; y: 50; width: 100; height: 100
         }
     }
 }

win.cpp :

#include <QApplication>
#include <QDeclarativeView>
#include <QMainWindow>

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

    QDeclarativeView* v = new QDeclarativeView;
    window.setCentralWidget(v);

    v->setSource(QUrl::fromLocalFile(("draw_rectangles.qml")));   

    window.setStyleSheet("background:transparent;");
    window.setAttribute(Qt::WA_TranslucentBackground);
    window.setWindowFlags(Qt::FramelessWindowHint);
    window.show();

    return app.exec();
}

win.pro :

TEMPLATE += app
QT += gui declarative
SOURCES += win.cpp

Сохраните эти файлы в том же каталоге и выполните qmake, а затем make для компиляции приложения.

10
ответ дан 29 November 2019 в 04:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: