フォームのセットアップ:
QSplitter
(画像上で強調表示) QTreeWidget
(左) とQTableWidget
(右) を含む:
QSplitter 内のこれら 2 つのウィジェットのデフォルト以外のプロパティ:
QTreeWidget
最小サイズ / 幅 = 150
QTableWidget
minimumSize / Width = 300
sizePolicy / Horizontal Stretch = 1
基本的に、上記の設定はこれら 2 つのコンポーネントの最小幅を指定します。これQTableWidget
は、フォームのサイズ変更中に幅を変更するものです。
右側のボタンが配置されQVBoxLayout
、サイズが固定されます。
質問:
フォームQTreeWidget
の幅のサイズを変更すると、最小の 150 から不明な 256 になり、それから大きくなり始めますが、水平方向のストレッチが 1 に設定されているため、幅がまったく大きくならないことQTableWidget
を期待しています。QTreeWidget
QTableWidget
QSplitter
代わりにこれら 2 つのウィジェットを配置すると同じことが起こるため、これは とは関係がないことに注意してくださいQHBoxLayout
。
アップデート:
maximumSize QTreeWidget
/ Width を 150 (minimumSize / Width と同じ) に設定して、このウィジェットのサイズ変更を回避すると、次のようになります。
QTreeWidget
現在は 150 に固定されていますが、ウィンドウのサイズを変更すると、2 つのウィジェットの間に空のギャップが生じます。このギャップは 256-150=106 まで拡大し、その後QTableWidget
拡大し始めます。
基本的に結果は同じなのですが、今回はQTreeWidget
今までとったエリアをこの空いた隙間に当てています。
これはQtのバグかもしれないと感じ始めました。
技術情報:
- Ubuntu 10.04 (明晰リンクス) x86_64
- GCC 4.4.3
- Qt 4.6.2