2 つの解決策:
1/ マニュアル設計
ドック:
*---------------QDockWidget---------------*
| |
| *-------------QScrollArea-------------* |
| | | |
| | *--------ExpandableWidget---------* | |
| | | | | |
| | | | | |
| | | | | |
| | *---------------------------------* | |
| | *--------ExpandableWidget---------* | |
| | | | | |
| | | | | |
| | | | | |
| | *---------------------------------* | |
| | *--------ExpandableWidget---------* | |
| | | | | |
| | | | | |
| | | | | |
| | *---------------------------------* | |
| | *--------VerticalSpacer-----------* | |
| | | | |
| | | | |
| *-------------------------------------* |
| |
*-----------------------------------------*
ExpandableWidget:
ArrowL
QLabel
ウィジェットが折りたたまれているか拡張されているかを示す矢印のみを含む です。カスタム ウィジェットを必要な入力ウィジェット (int 入力など) に設定します。折りたたむとこのウィジェットが非表示になり、展開すると表示されます。
*------------ExpandableWidget-------------*
| |
| *-------------QVBoxLayout-------------* |
| | | |
| | *-----------QHBoxLayout-----------* | |
| | | *-ArrowL-* *------QLabel------* | | |
| | *---------------------------------* | |
| | | |
| | *---------Custom QWidget----------* | |
| | | | | |
| | *---------------------------------* | |
| | | |
| *-------------------------------------* |
| |
*-----------------------------------------*
利点: ドックの動作を完全に制御できます。欠点: 一貫性を確保するために、グローバル ウィジェットでこの階層を自分で実装する必要があります。
2/ QtPropertyBrower
QtPropertyBrowserは、現在廃止されている Qt ソリューション (ライセンス) の一部です。これにより、数行のコードでほとんどのことを行うことができます。