Qt StackView项被推到边框之外
我有以下主应用程序窗口的QML布局。我需要为无边框窗口创建阴影,这就是为什么内部矩形比应用程序边框小一点的原因(我以前在StackOverflow上找到了这个解决方案)。问题是,当一个新项目被推送到嵌套的StackView时,它会从内部矩形的外侧移动。我该怎么修Qt StackView项被推到边框之外,qt,qml,Qt,Qml,我有以下主应用程序窗口的QML布局。我需要为无边框窗口创建阴影,这就是为什么内部矩形比应用程序边框小一点的原因(我以前在StackOverflow上找到了这个解决方案)。问题是,当一个新项目被推送到嵌套的StackView时,它会从内部矩形的外侧移动。我该怎么修 import QtQuick 2.10 import QtQuick.Controls 2.3 import QtQuick.Layouts 1.2 import QtGraphicalEffects 1.0 import org.b
import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.2
import QtGraphicalEffects 1.0
import org.b2soft.qml 1.0
ApplicationWindow {
id: window
visible: true
width: 800
height: 600
title: qsTr("Test")
color: "#00000000"
flags: Qt.FramelessWindowHint | Qt.Window
Rectangle {
id: rect
width: 700
height: 500
anchors.centerIn: parent
Column {
id: column
anchors.fill: parent
Row {
id: topbar
anchors.left: parent.left
anchors.right: parent.right
height: 24
Rectangle {
anchors.top: parent.top
anchors.bottom: parent.bottom
width: parent.width
color: "#37373a"
}
}
StackView {
id: rootStackView
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - topbar.height
initialItem: Qt.resolvedUrl("login.qml")
}
Connections {
target: QMLWrapper
onLoginCompleted: rootStackView.push(Qt.resolvedUrl("main_stack.qml"))
}
}
}
DropShadow {
anchors.fill: rect
radius: 40
samples: 32
verticalOffset: 14
source: rect
color: "#40000000"
}
}
以下是有关问题的GIF:
我会孤注一掷,并假设这是默认的预期行为。QML元素在默认情况下不会剪裁,因为它可能是一个繁重的操作 堆栈视图通常包含在应用程序窗口中,因此这个问题不会突出 但是您的元素嵌套在一个较小的元素中,为工件的显化留出了空间
你所要做的就是为
rect
设置clip:true
,我假设这是默认的预期行为。QML元素在默认情况下不会剪裁,因为它可能是一个繁重的操作
堆栈视图通常包含在应用程序窗口中,因此这个问题不会突出
但是您的元素嵌套在一个较小的元素中,为工件的显化留出了空间
当我将
clip:true
放置在rect
中时,您所要做的就是为rect设置clip:true
,但我将剪辑添加到rootStackView
中,现在一切正常。谢谢。当我在rect
中放置clip:true
时,它不起作用,但是我在rootStackView
中添加了剪辑,现在一切都好了。谢谢