【发布时间】:2014-06-12 11:43:47
【问题描述】:
我有一个QWidget 使用QWidget::createWindowContainer 从QQuickView 创建:
QQuickView view;
view.setSource(QUrl("./Test.qml"));
QWidget *container = QWidget::createWindowContainer(&view);
Qml 非常简单:
import QtQuick 2.0
Rectangle {
width: 50
height: 50
color: "blue"
radius: 5
}
我需要一个半透明的无框容器来显示矩形。尝试在 QDialog 中显示小部件:
QDialog dialog;
QHBoxLayout layout;
dialog.setWindowFlags(Qt::FramelessWindowHint);
dialog.setAttribute(Qt::WA_TranslucentBackground);
layout.addWidget(container);
dialog.setLayout(&layout);
dialog.show();
我什么也没得到,因为似乎透明度也传播到了container 对象。如果我尝试添加到layout 而不是container 小部件,例如QPushButton,一切正常,只显示按钮。我的 QML 小部件需要相同的结果。问题可能出在哪里?我正在使用 Qt 5.2.1
【问题讨论】:
标签: qt transparency qml