2015-09-10 30 views
5

私は、再利用のためにカスタムQMLタイプを定義する方法を学ぶ非常に簡単なプログラムを作成しようとしています。存在しないプロパティに割り当てることができません

Cannot assign to non-existent property "color"

私は答えを探して、それを解決して何かを発見していない:私は、私は次のエラーを取得しています理由はわかりません。

以下はコードです。 Qtはcolorradiusの下線を赤で示しています。つまり、「無効なプロパティ名」としてフラグが立てられています。

//Button.qml 
import QtQuick 2.3 

Rectangle { 
width: 100; height: 100 
color: "red" 

    MouseArea { 
     anchors.fill: parent 
     onClicked: console.log("button clicked!") 
    } 
} 

//main.qml 
import QtQuick 2.3 
import QtQuick.Controls 1.2 

ApplicationWindow { 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("Hello World") 

    menuBar: MenuBar { 
     Menu { 
      title: qsTr("File") 
      MenuItem { 
       text: qsTr("&Open") 
       onTriggered: console.log("Open action triggered"); 
      } 
      MenuItem { 
       text: qsTr("Exit") 
       onTriggered: Qt.quit(); 
      } 
     } 
    } 

    Column { 
     Button {width: 50; height: 50} 
     Button { x: 50; width: 100; height: 50; color: "blue" } 
     Button { width: 50; height: 50; radius: 8} 
    } 

} 

答えて

4

QtのクイックコントロールButton種類があり、あなたが行います。 Qtクイックコントロールのインポート(radiusまたはcolorプロパティを持たない)からのButtonは、ローカルファイルよりも選択されているようです。いくつかの選択肢があります:

  1. Buttonの名前を変更してください。
  2. Qtクイックコントロールを名前空間にインポートします。
  3. タイプを名前空間にインポートします。

は、ここでは、オプション#2にしてください方法は次のとおりです。

import QtQuick 2.3 
import QtQuick.Controls 1.2 as Controls 

Controls.ApplicationWindow { 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("Hello World") 

    menuBar: Controls.MenuBar { 
     Controls.Menu { 
      title: qsTr("File") 
      Controls.MenuItem { 
       text: qsTr("&Open") 
       onTriggered: console.log("Open action triggered") 
      } 
      Controls.MenuItem { 
       text: qsTr("Exit") 
       onTriggered: Qt.quit() 
      } 
     } 
    } 

    Column { 
     Button { 
      width: 50 
      height: 50 
     } 
     Button { 
      x: 50 
      width: 100 
      height: 50 
      color: "blue" 
     } 
     Button { 
      width: 50 
      height: 50 
      radius: 8 
     } 
    } 
} 
関連する問題