2017-07-26 91 views
1

我有如果我使用滑動視圖一些問題,我已經寫以下代碼:QML 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」藍色區域是可見的,它覆蓋的右側區域(黃色矩形):

enter image description here

2)如果我點擊移動到2按鈕然後黃色矩形如預期的那樣可見。

enter image description here

現在,即使我點擊招1按鈕我需要相同的行爲,即,黃色矩形應該是可見的所有time.How實現這一目標?

回答

1

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{ 

如果裁剪啓用,項目就會被裁剪自己的繪畫,以及 其孩子的繪畫,它的邊界矩形據Qt Documentation

默認情況下,此值爲false,因此您的SwipeView不在矩形區域中。

+0

如果我添加剪輯它按預期工作,但有沒有什麼辦法可以禁用過渡索引改變? – pra7

+0

你指的是哪個索引? –

+0

SwipeView - >當我設置這個** swipeView.currentIndex **有一些過渡/動畫發生。 – pra7