2012-11-19 21 views
5

私は自分のページ(QMLデスクトップアプリケーション)に3つのラジオボタンを持っています。一度チェックしたら、他のラジオボタンをすべてオフにします。 私は助けQMLデスクトップのRadioButton

CheckableGroup { id: group } 
Row { 
id: row 
spacing: platformStyle.paddingMedium 
RadioButton { 
    id: button1 
    text: "1" 
    platformExclusiveGroup: group 
} 
RadioButton { 
    id: button2 
    text: "2" 
    platformExclusiveGroup: group 
} 
RadioButton { 
    id: button3 
    text: "3" 
    platformExclusiveGroup: group 
    checked: true 
} 
} 

で見つかりましたが、私はその

RadioButton{ 
    id:rbtnDecimal1; 
    width: 130; 
    onClicked:{ 
    if(checked){ 
     rbtnHexadecimal1.checked=false; 
     rbtnString1.checked=false; 
    } 
    } 
    text: "Decimal Data"; 
    anchors.left:rbtnHexadecimal1.right 
} 

別の解決策を試してみました 「platformExclusiveGroupが有効なプロパティ名ではありません」エラーを取得していたコードでCheckableGroupを使用してみました1つのボタンがチェックされているときは他のボタンはチェックされていませんが、他のボタンはマウスを動かすまでチェックされています。

どのように実装するのですか? QMLのデスクトップコンポーネントで

答えて

1

のRadioButtonは、あなたの最初のアプローチをサポートしていませんが、あなたの代わりに、この回避策を試みることができる:

property int currentIndex: 1 

onCurrentIndexChanged: { 
    button1.checked = currentIndex == 0 
    button2.checked = currentIndex == 1 
    button3.checked = currentIndex == 2 
} 

Row { 
    RadioButton { 
     id: button1 
     text: "1" 
     onClicked:{ 
      currentIndex = 0 
     } 
    } 
    RadioButton { 
     id: button2 
     text: "2" 
     onClicked:{ 
      currentIndex = 1 
     } 
    } 
    RadioButton { 
     id: button3 
     text: "3" 
     onClicked:{ 
      currentIndex = 2 
     } 
    } 
} 
+0

おかげで、私はそれを試してみました、そして再び - ボタンがオフになっていても、私はそれらの上にマウスを移動し、まで、私は思えする未チェックのボタンを望んでいることを見ることができませんチェックされていないとすぐにチェックされなくなります。このソリューションを完成させるための考えはありますか?先にありがとう! – user1835297

+0

私はコードを修正しましたが、今は動作します。それはあなたが同じボタンを押すときにガードを設定することによってまだ改善することができますが、それはうまくいけばアイデアを与えるはずです。 – JuliusG

+0

もう一度お返事ありがとうございます。これはうまくいきます。チェックしてチェックしないと本当に変わりました。私はマウスを動かすまで、私はそれを見ることができません。私は何をすべきか??? – user1835297

2

あなたはRadioButtonのためExclusiveGroupを指定する必要があります。あなたの答え、JuliusGため

Row { 
    id: row 
    ExclusiveGroup { id: group } 
    RadioButton { 
     id: button1 
     text: "1" 
     exclusiveGroup: group 
    } 
    RadioButton { 
     id: button2 
     text: "2" 
     exclusiveGroup: group 
    } 
    RadioButton { 
     id: button3 
     text: "3" 
     exclusiveGroup: group 
     checked: true 
    } 
}