web-dev-qa-db-ja.com

Qt Creatorで最初に非表示になったコントロール

ラジオボタンが選択されているときだけグループボックスを表示させたいのですが。
ラジオボタンのtoggled(bool)信号をグループボックスのsetShown(bool)スロットに接続することで、なんとか実現しました。
問題は、ラジオボタンが最初に選択解除されているのにグループボックスが最初に表示されるため、ラジオボタンを選択/選択解除して非表示にする必要があることです。
コードで行う必要なしに、Qt Creatorデザイナーでグループボックスを最初に非表示にする方法はありますか?

27
Dani

できません。

visibleプロパティは、Qt Designerのプロパティエディターから自発的に削除されたようで、元に戻すことはできません。

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

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

ただし、デザイナでインターフェイスを再度開くと、ウィジェットは表示されず、移動もできません。ただし、ウィジェット階層には引き続き表示されます。

47
alexisdm

プロパティ(setHiddenを参照)を試してみることができますが、コードで行う方がはるかに簡単です。

だからあなたはやるでしょう:

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

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

これが最も簡単な方法です。DesignerでQtが既に使用しているプロパティを追加することはあまりできません。

5
Nicholas Smith