QListWidget
(一見任意の)高さを選択してスクロールバーを追加する代わりに、高さのサイズを変更するように、の動作をどのように変更しますか?スクリーンショットを参照してください:
'sは、QListView
水平方向にできるだけ多くのスペースを埋める必要があります(必要に応じて、できるだけ多くの「列」を作成します)。次に、すべてのアイテムに合うように、必要な数の行をラップして作成します。これらの計算は、ウィンドウのサイズが変更されるときに調整する必要があります。これはすべて正常に機能しています。
ただし、私がやりたいのは、高さを同じに保つのではなく、QListView
垂直方向に拡大または縮小し、スクロールバーを必要としないことです。スクロールは、必要に応じて、QWidget
すべてのラベルとリストをホストする親で処理されます。の高さQListWidget
が確立されると(デフォルトがどこから来ているのかわからない)、変更されることはないようです。大きすぎる場合(上記の2番目の「テスト」リストを参照)と小さすぎる場合(上記の最初の「空白のマップ」リストを参照)。
上記のレイアウトは驚くべきことではありません。2つQLabel
の'と2つQListWidget
の'が'QVBoxLayout.
に設定したプロパティはQListWidget
次のとおりです。
setMovement(QListView::Static);
setResizeMode(QListView::Adjust);
setViewMode(QListView::IconMode);
setIconSize(QSize(128, 128));
(私はすでに水平および垂直スクロールバーポリシーを設定しようとしましたが、それはスクロールバーをオフにし、コンテンツをクリップします。私が望むものではありません。)