2014-01-29 3 views
0

특정 MouseAreas에서 마우스 클릭을 비활성화하려면 어떻게합니까?"SetClickable"태그를 설정할 수 없습니다.

나는 MouseArea{ .... } 안에 몇 개의 코드를 사용하고 있으며 그 동안 깃발이 켜지지 않을 때까지 사용할 수 없도록하고 싶습니다. TRUE!

onClicked: { 
       focus: true 
       onClicked: pageLoader.source = "PAGE3.qml"; 
      } 

프로그램에 여러 개의 mouseAreas가 있습니다. 필요한 것은 하나의 MouseArea가 이미 클릭되었고 해당 mouseArea에 해당하는 페이지가 로더을 사용하여로드 될 때 다른 모든 MouseArea를 비활성화하는 것입니다.
이 mouseAreas는 QML의 Grid 함수를 사용하여 행렬로로드됩니다.

어떻게하면됩니까?

+1

문서 http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-mousearea.html에 따르면 MouseArea에는이 속성이 없습니다. 이 이름을 어디서 얻었습니까? 너 스스로 발명 한거야? – Kakadu

+0

죄송합니다, 실수입니다. 그것은 'QHeaderView Class Reference'에 있습니다. – Jino

+0

@Kakadu 질문을 편집했습니다! – Jino

답변

0

답을 얻었다! 당신은
enable: false

예 추가해야합니다
Grid {
enable: true }

이 가능하게 할 것이다 그리드와;

Grid {
enable: false }

이렇게하면 그리드가 비활성화됩니다.

0

이와 비슷한?

import QtQuick 2.1 

Rectangle { 
    width: 800 
    height: 600 
    property bool clickable 
    MouseArea { 
      anchors.fill:parent 
      onClicked: { 
        if (clickable) 
          console.log("clicked"); 
        else 
          console.log("unclickable"); 

      } 
    } 
    Component.onCompleted: clickable = true; 
} 
+0

이것은 MouseArea를 비활성화하지 않고 단지 값만 인쇄합니다. 질문을 다시 수정하겠습니다. – Jino

+0

내 대답을 확인하십시오,이 방법은 작동합니다! – Jino

+1

여러 개의 마우스 영역을 그리드에로드하고 그리드 내부에서 일부 마우스 영역을 비활성화하려고한다고 생각했습니다. 전체적으로 그리드가 아닙니다. 어쨌든, 당신이 기대 한 결과를 얻은 것을 기쁘게 생각합니다. – Kakadu

관련 문제