2017-10-31 23 views
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") 
      } 
    } 
} 

When Initally Window loaded and on pressing button stachview.push will load new window

SightListViewForm is loaded

Now when i select Settings icon from footer Setting view loaded but comes behind SightListViewForm. I want settings view to come on top same for other tabs in fotter

바닥 글의 설정 아이콘 내 설정보기가 SightListViewForm 뒤에 있습니다. Stackview 또는 Swipeview의 동작을 변경하거나 추가해야 할 내용이 누락되었습니다. 나는 이것에 대해 명확하지 않다.

+0

귀하의 예제를 확장하십시오 main.qml에 AppFooter 만들기 대신 main.qml의 바닥 글에 stackview을 유지해야 밝혀, 그래서 당신의 문제를 보여줍니다. 또한 예제 코드가 올바른지 확인하십시오. 예 : 'SwipeView'는'Anchors' 속성을 가지고 있지 않습니다. 또한 원하는 행동이 무엇인지 자세히 설명하십시오. 텍스트를 읽을 수 있도록 줄 바꿈을 고려하십시오. – derM

+0

@derM 내 질문을 편집했습니다 – bhupinder

+0

[최소, 완전하고 검증 가능한 예] (https://stackoverflow.com/help/mcve)로 자격이되는 부분을 읽어보십시오 - 예제 표준 구성 요소 만 빌드하거나 간단한 구현을 제공하십시오 우리는 QtCreator의 모든 것을 복사하여 지나치고 실행할 수 있습니다. * 간단한 * 작업 코드는 블로그를 둘러싼 1000 가지 이상의 후속 조치를 설명합니다. – derM

답변

0

내가

DashboardListView{ 
    id:dashboard 
     StackView { 
      id: stackView 

      initialItem: Pane { 
       id: pane 
      } 
     } 
    } 

AppFooter{ 
    id:appfooterglobal 
    visible: false 
}