カンテラの光の下で

dNaga392's memorandom

【QtJP】Qt 勉強会に行ってきました【QToolBox】

Qt勉強会に行ってきました! Qt 勉強会 #18 @Tokyo - Qt 勉強会 | Doorkeeper

勉強会はもくもく会と聞いていたので、
アイテムラベルをグループ化して表示するツールボックスを作ることを目標に臨みました。

夕方に予定があったため、勉強会の時間内に完成させることはできませんでしたが、 Tasukuさんのおかげでカスタムウィジェットでグループ化ツールボックスを作成することが出来ました。

dNaga392/SwitchItemView · GitHub

これを作る前に、まずはQToolBoxを使って表示しようと考えていました。
QToolBoxは、ウィジェットとタイトルをセットで(addItem関数で)追加しますと、
グループタブを自動で作ると便利な機能を持っているためです。

いざやってみると、グループ化の表示はできたのですが、
展開しているグループ以外のタブが上下に大きく別れてしまい、 期待していたものと異なる挙動でした。

QtDesigner のツールボックスのように上寄せに表示する方法はないかと
あれこれ見てたら主催者のTasukuさんが声かけてくれたので、
思い切って相談してみることに(!)

いろいろ伺ったところ、QToolBoxは表示調整をするインターフェースがなく、
QToolBoxにこだわるなら、黒魔術に手を染めることになるとのこと。

目的はアイテムラベルのグループ化と、グループの上寄せ表示であると伝えると、
グループ表示をするカスタムウィジェットを作成し、
連続表示させてみてはどうかとご教示頂くことができ、作成することができました。

冒頭のアプリでは、一度グループを開いて広がったウィンドウの高さが
グループを閉じても元に戻ることはありません。

これは十分に高さがあるときなら問題がないこと、
外側のレイアウト設定の問題であることからこのままでの公開としました。

興味を持っていただけた方はクローンまたはダウンロードして確認してみてください!