我正在编写自定义工具提示。为了显示 DropShadow,实际大小control
应该更大。
Item {
id: control
width: tipText.width + 5
height: tipText.height + 5
...
Rectangle {
id: background
height: tipText.height
width: tipText.width
Text {
id: tipText
...
}
}
Rectangle {
id: shadow
height: tipText.height - 3
width: tipText.width - 3
z: -1
color: "white"
anchors.bottom: background.bottom
anchors.right: background.right
layer.enabled: true
layer.effect: DropShadow {
...
}
}
}
在 cpp 文件中:
QQuickView* view = new QQuickView;
view->setSource(QUrl("qrc:/impl/my.qml"));
QWidget* cont = QWidget::createWindowContainer(view, nullptr);
cont->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::Tool);
现在看起来像这样:
我想知道如何使背景透明。(此外,我试过cont->setAttribute(Qt::WA_TranslucentBackground)
了,它只是让一切变得透明)