1

私はいくつかのウィジェットを使用していますが、解決策が出てこないだけです。私が持っているのは、一連のボタンのシリーズですQHBoxLayouts。一部のボタンはデフォルトで非表示になっていますが、必要に応じて表示されます。スペースの問題を解決するために、すべてのボタンには最小サイズと最大サイズがあるため、常に見栄えがよくなります。またQTextEdit、デフォルトで表示される、があります。これは、ボタンを保持するQVBoxLayoutと一緒にありますQHBoxLayout

したがって、問題は次のとおりです。を非表示にQTextEditして他のボタンを表示すると、ウィンドウのサイズが変更されません。検索したところ、を使用self.ui.layout().setSizeConstraint(QtGui.QLayout.SetFixedSize)するとうまくいくことがわかりましたが、問題は、すべてのウィジェットから最大サイズを取得するため、大きなウィンドウを終了することです。ウィンドウself.ui.layout().setSizeConstraint(QtGui.QLayout.SetMinAndMaxSize)のサイズを変更しません

私はすでにを使用してみself.ui.resize(0,0)ましたself.ui.layout().update()が、False(奇妙だと思います、http://doc.trolltech.com/4.6/qlayout.html#activate)を実行すると、オーバーライドしようとしましsizeHint()たが、最大サイズを使用し続けますすべてのウィジェット。

ウィジェットの最小サイズと最大サイズを管理しながら、ウィンドウのサイズを変更する方法はありますか?

前もって感謝します

4

1 に答える 1

4

答えはかなり不完全でした...ただのために変更して使用する必要がありQVBoxLayoutましたQGridLayoutself.ui.layout().setSizeConstraint(QtGui.QLayout.SetFixedSize)

于 2010-02-19T18:32:11.717 に答える