2つの問題の解決策が見つかりませんでしたQLayouts
。QHBoxLayout
新しいウィジェット、プッシュボタンなどを追加するときに、expandindが可能なアプリが必要です。つまり、1QDialog
つと2つのレイアウトがあります。これで、レイアウトを非表示にできないことがわかりました。だから私はちょうどトレイします:
layout()->removeItem(firstlayout);
layout()->addLayout(secondLayout);
しかし、これを行ったとき、位置[0,0]の最初のレイアウトにあるすべてのアイテムが表示されました。次のステップは次のとおりです。
for (all items in first layout) if (widget) widget->hide();
しかし、これはでのみ機能しQWidget
、レイアウトにはさまざまなアイテムがあります。
非表示/表示を使用できるため、ウィジェットを使用するのが簡単ですが、新しいアイテムを追加するときにウィンドウを自動拡張する必要があります。