QTabWidgetタブ内のQStackedWidget?
-
22-09-2019 - |
質問
私のQTのアプリケーションでは、私は基本ナビゲーションにQTabWidgetを使用しています。 UIでこのQTabWidget Iのセットアップ。 QTabWidget Iの必要性のタブの一部では、「ビューでドリルダウン」することができるようにするQStackedWidgetを持っている。
私はまた、UI内QStackedWidgetを追加しようとしたが、それは自動的にスタックにページを追加します。私の代わりにコードでQStackedWidgetためのページを追加します。コードの試みで、私はこのstackedWidgetを行うにした場合はMyWidgetは、スタック内の第二となりますので、すでに標準のページを持っています。
MyWidget *myWidget = new MyWidget(ui.stackedWidget);
ui.stackedWidget->addWidget(myWidget);
は、セットアップへの最善かつ最も簡単な方法は、QStackedWidget QTabWidget内部タブは何ですか?
解決
いかがます:
QTabWidget *myTabWidget = new QTabWidget(this);
QStackedWidget *myStackedWidget = new QStackedWidget(myTabWidget);
myTabWidget->addTab(myStackedWidget, "Stacked Widget");
また、あなたはQtのデザイナー/クリエーターのすべての既存のスタックページを削除することができます。ただ、積み重ねられたウィジェット上で右クリックして、既存のすべてのページを削除。そして、あなたがaddWidget()
を使用してコードで必要なページを追加することができます。
他のヒント
(など、後にタブ上の他のウィジェットを追加するこの方法は、それは、レイアウト/位置に簡単です)あなたが同じように、UIにそれを作成するのではなく、単にから(デザイナーによって追加)既存のすべてのページを削除 -
私が言うと思いますコードとは、あなたの新しいものを追加します。
「YのページX」サブメニューに行く、あなたは右クリックする必要があり、[削除]を選択します -実際にはQt 4.6からのデザイナーは、ウィジェットスタックからすべてのページを削除することができます。繰り返しすべてのページがなくなるまで:)
あなたはまだあなたがQtの以前のバージョンを持っている場合は、コードからそれらを削除する必要があるかもしれませんので、多分これは、つい最近デザイナーに追加しました。
私は「できるだけ多くのUIファイル」に投票したいコードでそれを保つことに対してUI内のものを保つことといえば:)
所属していません StackOverflow