2017-09-18 11 views
0

Qt Designerの"promote to"メニューを使用して、最上位レベルQWidgetを派生したMyWidgetクラスに昇格しようとしています。Qt Designerを使用してトップレベルウィジェットを宣伝する

これについては、"promoted widgets.."メニューでプロモーションを定義しました。

私もトップレベルQWidgetに(紫で)子QWidgetを追加していると私は、オブジェクトインスペクタで右クリック後に表示さ"promote to"オプションを使用して、MyWidgetにそれに促進することができました。

enter image description here

しかし、トップレベルQWidget用(写真のように)、右クリックは"promote to"メニューへのアクセス権を与えていないと私はQFrameと同じ問題を抱えています。

Qt Designerでこれを行うことはできますか?

ありがとうございます。

+0

あなたのケースのウィジェットでカスタムウィジェットを使用しているので、トップレベルがすでに昇格されていると言うことができます。 – eyllanesc

+0

実際、私はなぜルートウィジェットが特殊なケースであるのか理解しています。 uicはこのウィジェットの名前(クラスUi :: Widget)を持つクラスを生成し、子ウィジェットはこのクラスのpublicメンバであり、setupUi関数に組み込まれています。その後、Qtの単一継承アプローチを使用すると、QWidget(MyWidget)の派生クラスを作成し、その上にsetupUi関数を適用する方が簡単かもしれません。だから私はQtデザイナーの中でそれを行うことは理にかなっていないと思う。 – Scab

答えて

1

いいえ、デザイナーでトップウィジェットを宣伝することはできません。しかし、あなたは手動でそれを行うことができます。テキストエディタでuiファイルを開き、トップレベルウィジェットに必要な変更を加えるだけです。あなたが必要とする変更は、あなたの子供のウィジェットのdefenitionで見ることができます。 copypasteにはフィールドと値が必要でした。

関連する問題