我使用来自QtQuick.Controls 2.2的抽屉
Drawer {
id: drawer
width: parent.width/2
height: parent.height
modal: true
...
}
风格:
[Controls]
Style=Material
[Material]
Theme=Dark
Accent=Red
Primary=#c64949
我想更改抽屉阴影的颜色。样式材质使用white color for the shadow(在打开的抽屉右侧)。
- 由Bounty赞助商编辑 -
我发现阴影是定义的,即。在这里:http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/imports/controls/Drawer.qml
为:
T.Overlay.modal: Rectangle {
color: Color.transparent(control.palette.shadow, 0.5)
}
T.Overlay.modeless: Rectangle {
color: Color.transparent(control.palette.shadow, 0.12)
}
如果没有定义一个全新的Style,怎么能将它们修改为一次性?
我可能会重新定义一个完全自定义的控件..但是应该有一个兼容的版本?
答案 0 :(得分:1)
您正在寻找的是Overlay.modal
属性,如@Blabdouze所述。简单的工作示例:
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
Window {
visible: true
width: 640
height: 480
title: qsTr("test")
Drawer {
height: parent.height
width: parent.width/2
Rectangle {
anchors.fill: parent
color: "green"
}
Overlay.modal: Rectangle {
color: "red"
}
}
}
默认边缘保留在左侧,因此请从此处拖动。
链接: