これは昨日やったことです
調べたらwxだとデータをviewと独立して扱うのが難しそうだったので、Qtでやってみることにした
Qtではscintillaをいじった際にtreeを使ったが、簡便なtreewidgetだったので、viewは初めて
でもexampleサイトを見たら意外と簡単ですぐ出来た
それよりもdesignerでUIを作るのに手惑いました
基本的なところがまだわかってない気がする
インストがうまくいってないんだと思うけど、designerは使えるんだけどドキュメントが見れなくて、試行錯誤
解説サイト見てもよくわかんないんだよなあ・・・
とりあえずこんな感じ
結構速い、wxよりもしかしたら良いのかも???
<fig>

<code>
treeview の作り方
QStandardItemModelに直接appendRowすればルートになる。この戻り値に対してさらにappendRowすれば子供、孫になっていく
appendRowするデータは全てQStandardItem(string)で作る
最後にtreeview'にQStandardItemModel`をセットして終わり
勿論最初にセットしておいてもいい
結構簡単だった(・∀・)ノ
面白かったのは文字列以外の非表示データの設定。treewidgetを使ったときはやり方がわからず、二番目のカラムにデータをセットして非表示にしたんだけど、treeviewだと出来る。treewidgetでも出来たのかな??
作ったviewはカラム一つなので、複数の作り方はまだわかんない
夜に試したこと
・Qtのウインドウにメニューをつける~いろいろ試してみたいことがあるときはボタンを配置してコネクトしてたが、Qtだと後から配置するのは結構めんどくさい(というかやりかたがわからん)
右クリックのコンテキストメニューを出すのも難しそう
なので前からやってみたかったウインドウメニューを使ってみたら結構簡単にできた(・∀・)ノ
designerで設定して、コードはこんな感じ
<code>
treeにセットしたQStandardItemModelをclearしたら瞬間で消えた
簡単なデータをセットしたQStandardItemModelをもう一つ作って、treeへセットしたら瞬間で切り替わった
結構良い感じです( ´∀`)