0
내 애플리케이션에 스택 뷰를 구현 중입니다.스택 뷰와 함께 사용하면 스 와이프 뷰 화면이 표시되지 않습니다.
main.qml
ApplicationWindow {
id: window
width: 360
height: 520
visible: true
title: "City Explorer"
color:"#FAF7F7"
Loader {
id: splashLoader
anchors.fill: parent
source: "../AppFooter.qml"
visible: true
}
footer: TabBar {
id: appfooter
currentIndex: 0
background: Rectangle {
color: "#d6d6d6"
}
TabButton {
id: control1
background: Rectangle {
width: 44
height: 40
border.color: "#000000"
color: "#d6d6d6"
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.Bottom
Image {
id: contentImage
fillMode: Image.PreserveAspectFit
}
}
onClicked: {
contentImage.source = "../images/dashboard_active.png"
contentImage1.source = "../images/settings_inactive.png"
}
}
TabButton {
id: control2
background: Rectangle {
width: 44
height: 40
color: "#d6d6d6"
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
Image {
id: contentImage1
fillMode: Image.PreserveAspectFit
}
}
onClicked: {
contentImage.source = "../images/dashboard_inactive.png"
contentImage1.source = "../images/settings_active.png"
contentImage2.source = "../images/bookings_inactive.png"
}
}
}
header: ToolBar {
id:appheader
visible: false
RowLayout {
spacing: 20
anchors.fill: parent
ToolButton {
id:backButton
visible: false
contentItem: Image {
fillMode: Image.Pad
horizontalAlignment: Image.AlignHCenter
verticalAlignment: Image.AlignVCenter
source: stackView.depth > 1 ? "../images/back.png" : ""
}
onClicked: {
if (stackView.depth > 1) {
stackView.pop()
} else {
}
}
}
Label {
id: titleLabel
text: "City Explorer"
font.pixelSize: 20
elide: Label.ElideRight
horizontalAlignment: Qt.AlignHCenter
verticalAlignment: Qt.AlignVCenter
Layout.fillWidth: true
}
}
}
StackView {
id: stackView
initialItem: Pane {
id: pane
}
}
}
SightListViewForm.ui.qml
Item {
width: 360
height: 520
property alias mouseArea: mouseArea
MouseArea {
id: mouseArea
anchors.rightMargin: 0
anchors.bottomMargin: 0
anchors.fill: parent
Rectangle {
id: rectangle
x: 38
y: 21
width: 200
height: 200
color: "#e03636"
Label {
id: label
x: 61
y: 150
width: 154
height: 28
text: qsTr("Overlapping view")
z: 2
}
}
}
}
SettingsForm.ui.qml
Item {
width: 400
height: 400
Image {
id: image
x: 101
y: 85
width: 150
height: 162
source: "images/singapore.png"
Label {
id: label
x: 8
y: 100
width: 142
height: 23
text: qsTr("Label")
}
}
}
AppFotter.qml
SwipeView {
id: swipeView
anchors.fill: parent
currentIndex: showfooter.currentIndex
DashboardListView{
id:dashboard
}
Settings{
id:setting
}
}
012,351 6,
DashBoardListViewForm.ui.qml보기는 처음에는 SightListViewForm를로드 한 후 내가 누를 때 stackview.push를 호출로드 될 때 버튼을 누르면에
Item {
id: item1
width: 360
height: 520
property alias button: button
visible: true
Button {
id: button
x: 130
y: 287
text: qsTr("Button")
onClicked: {
console.log("SightListView.qml")
stackview.push("SightListView.qml")
}
}
}
바닥 글의 설정 아이콘 내 설정보기가 SightListViewForm 뒤에 있습니다. Stackview 또는 Swipeview의 동작을 변경하거나 추가해야 할 내용이 누락되었습니다. 나는 이것에 대해 명확하지 않다.
귀하의 예제를 확장하십시오 main.qml에 AppFooter 만들기 대신 main.qml의 바닥 글에 stackview을 유지해야 밝혀, 그래서 당신의 문제를 보여줍니다. 또한 예제 코드가 올바른지 확인하십시오. 예 : 'SwipeView'는'Anchors' 속성을 가지고 있지 않습니다. 또한 원하는 행동이 무엇인지 자세히 설명하십시오. 텍스트를 읽을 수 있도록 줄 바꿈을 고려하십시오. – derM
@derM 내 질문을 편집했습니다 – bhupinder
[최소, 완전하고 검증 가능한 예] (https://stackoverflow.com/help/mcve)로 자격이되는 부분을 읽어보십시오 - 예제 표준 구성 요소 만 빌드하거나 간단한 구현을 제공하십시오 우리는 QtCreator의 모든 것을 복사하여 지나치고 실행할 수 있습니다. * 간단한 * 작업 코드는 블로그를 둘러싼 1000 가지 이상의 후속 조치를 설명합니다. – derM