2011-10-19 11 views
20

ラジオボタンが選択されている場合にのみグループボックスを表示したい。
ラジオボタンのtoggled(bool)信号をグループボックスのsetShown(bool)スロットに接続することで、私はそれを行うことができました。
問題は、ラジオボタンは最初は選択解除されていますが、最初にグループボックスが表示されているため、ラジオボタンを選択/選択解除して消滅させる必要があることです。
Qt Creator Designerでグループボックスを最初に非表示にする方法はありますか?最初にQt Creatorで隠されたコントロール

答えて

37

できません。

プロパティvisibleは、Qt Designerのプロパティエディタから自発的に削除されているようですが、追加することはできません。

あなたは非表示にしたいウィジェットのノード内の次のXMLブロックを追加することによって、.uiファイルに手動でプロパティを追加することができます。

<property name="visible"> 
    <bool>false</bool> 
</property> 

をしかし、ウィジェットはときに表示または移動されませんデザイナーとのインターフェイスを再び開きます。しかし、ウィジェット階層には表示されます。

4

プロパティ(setHiddenを見てください)でラウンドを試すことはできますが、コード内で行う方がはるかに簡単です。

だから、あなたがしたい:本当に簡単な方法です

ui setup code 
ui->groupBox->setHidden(true) 

radio button slot 
if true ui->groupBox->setHidden(false) 
else if false ui->groupBox->setHidden(true) 

を、私はQtはすでに使用されているデザイナーでプロパティを追加することで多くの幸運を持っていたことがありません。

+0

私は既にこれを行っていましたが、私は代わりの方法を探していました。カスタムスロットは不要で、 'setShown(bool)'に接続された 'toggled(bool)'は正しく動作します。 – Dani

+0

その場合、私はデザイナのプロパティエディタを使ってsetHidden/setShownプロパティを実装することをお勧めします。 –

+0

ありがとうございます。できます。 – oya163

関連する問題