2017-10-30 5 views
0

내 응용 프로그램에서 stackview를 구현 중입니다. 내가 푸시 방법을 사용하여 DashboardListView에서 (SightDescription.qml 같은) 다른 화면을로드하고 DashboardListView 위해 해당 화면에 어딘가의 전화 슬롯을 cliking하고Stackview 이전 화면 호출 슬롯

SwipeView { 
id: swipeView 
anchors.fill: parent 
currentIndex: showfooter.currentIndex 

     DashboardListView{ 
     id:dashboard 
     } 

     Settings{ 
     id:setting 
     } 

     Cart{ 
     id:cart 
     } 
} 


StackView { 
    id: stackView 

    initialItem: Pane { 
     id: pane 
    } 
} 

. DashboardListView 화면 컨트롤이 onclick 신호를 받고 있습니다. 스택 뷰와 관련된 설정이 있습니까? 스택 뷰의 설명서를 읽었지만이 동작을 제한 할 수있는 항목이 없습니다.

답변

1

일반적으로 Pane이 마우스 이벤트를 가로 채고있는 것처럼 보입니다. 따라서 Item은 수신 할 수 없습니다.

StackView의 새 항목을 밀어 넣으면 Panevisible: false이되어 더 이상 입력을 신경 쓰지 않습니다. 새 Item이 마우스 이벤트를 처리하지 않으면 하위 Item으로 전파됩니다.

  1. 하는 모든 Item의 마우스 이벤트, 예를 처리 할 StackView에 밀어 있는지 확인하십시오

    는 것을 방지하기 위해, 당신은 다양한 옵션이 있습니다 Pane 또는 MouseArea을 루트 항목으로 지정하십시오.

  2. 장소 Item s는 StackView
  3. 좀 더 ... 예를 들어,에가있는 경우에만 사용할 수 있습니다 직접 StackView 아래 MouseArea C++ e.t.c에 EventFilter을 설치하십시오. 그러나 나는 1과 2가 충분하고 구현하기 쉬워야한다고 생각한다.