QML SwipeView 覆盖整个 window
QML SwipeView is covering entire window
如果我使用滑动视图,我会遇到一些问题,我已经编写了以下代码:
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Swipe View")
MainForm {
anchors.fill:parent
Rectangle{
id:rightRect
anchors.right:parent.right
width: parent.width*0.50
height:parent.height
color:"yellow"
}
Rectangle{
id:leftRect
width:parent.width*0.50
height:parent.height
color:"lightgreen"
border.color:"red"
anchors.right:rightRect.left
SwipeView{
id:swipeView
anchors.fill : leftRect
//Layout.fillWidth: true
currentIndex: 0
interactive: false
Page{
id:page1
Rectangle{
width:parent.width
height:parent.height
color:"lightgreen"
Button{
text:"move to 2"
onClicked: swipeView.currentIndex = 1
}
}
}
Page{
id:page2
Rectangle{
width:parent.width
height:parent.height
color:"lightblue"
Button{
text:"move to 1"
onClicked: swipeView.currentIndex = 0
}
}
}
}
}
}
}
以下是屏幕截图:
1) 最初我将当前索引设置为 "0" 但索引“1”蓝色区域可见并且覆盖了右侧区域(黄色矩形):
2) 如果我点击 移至 2 按钮,那么黄色矩形就会按预期显示。
现在,即使我点击 移至 1 个按钮,我也需要相同的行为,即黄色矩形应该在所有 time.How 中可见才能实现此目的?
将 clip:true
添加到您的 SwipeView 的父级,它会很好。
Rectangle{
id:leftRect
width:parent.width*0.50
height:parent.height
color:"lightgreen"
border.color:"red"
anchors.right:rightRect.left
clip:true //add this
SwipeView{
If clipping is enabled, an item will clip its own painting, as well as
the painting of its children, to its bounding rectangle.
默认情况下,此值为 false,因此您的 SwipeView
超出了矩形区域。
如果我使用滑动视图,我会遇到一些问题,我已经编写了以下代码:
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Swipe View")
MainForm {
anchors.fill:parent
Rectangle{
id:rightRect
anchors.right:parent.right
width: parent.width*0.50
height:parent.height
color:"yellow"
}
Rectangle{
id:leftRect
width:parent.width*0.50
height:parent.height
color:"lightgreen"
border.color:"red"
anchors.right:rightRect.left
SwipeView{
id:swipeView
anchors.fill : leftRect
//Layout.fillWidth: true
currentIndex: 0
interactive: false
Page{
id:page1
Rectangle{
width:parent.width
height:parent.height
color:"lightgreen"
Button{
text:"move to 2"
onClicked: swipeView.currentIndex = 1
}
}
}
Page{
id:page2
Rectangle{
width:parent.width
height:parent.height
color:"lightblue"
Button{
text:"move to 1"
onClicked: swipeView.currentIndex = 0
}
}
}
}
}
}
}
以下是屏幕截图:
1) 最初我将当前索引设置为 "0" 但索引“1”蓝色区域可见并且覆盖了右侧区域(黄色矩形):
2) 如果我点击 移至 2 按钮,那么黄色矩形就会按预期显示。
现在,即使我点击 移至 1 个按钮,我也需要相同的行为,即黄色矩形应该在所有 time.How 中可见才能实现此目的?
将 clip:true
添加到您的 SwipeView 的父级,它会很好。
Rectangle{
id:leftRect
width:parent.width*0.50
height:parent.height
color:"lightgreen"
border.color:"red"
anchors.right:rightRect.left
clip:true //add this
SwipeView{
If clipping is enabled, an item will clip its own painting, as well as the painting of its children, to its bounding rectangle.
默认情况下,此值为 false,因此您的 SwipeView
超出了矩形区域。