2012-02-26 4 views
1

나는 다음과 같은 코드가 작동하지 않습니다 :자바 스크립트는 QML

나는 MouseArea 클릭 할 때 Rectangle 색상을 변경하려면
Item { 
    width: fos.width; height: fos.height 

    Rectangle { 
     id: fos 
     width: 120; height: 120 
     color: "red" 

     MouseArea { 
      anchors.fill: parent 
      onClicked: { 
       if (fos.color == "red") fos.color = "gray" 
       else fos.color = "red" 
      } 
     } 
    } 
} 

. 그러나 코드는 작동하지 않습니다. 내 잘못은 어디 있니?

fos.color == "red" 

"red""#ff0000" 만 이름이나 별칭 :

답변

5

문제는 테스트입니다. 당신은

//... 
MouseArea { 
    anchors.fill: parent 
    onClicked: { 
     console.log('fos.color:', fos.color); // fos.color: #ff0000 
     //... 
    } 
} 

documentation에 따르면 당신은 색상 평등 "#ff0000"에 대해 Qt.colorEqual() 또는 테스트를 사용한다 : 값을 인쇄하여 즉 그것을 볼 수 있습니다.