pythonでfoobarのalternativeを作る 19 190528 version 13
pythonでfoobarのalternativeを作る 19 190528
これは昨日やったことです
## QTreeView
- 調べたらwxだとデータをviewと独立して扱うのが難しそうだったので、Qtでやってみることにした
Qtでは`scintilla`をいじった際にtreeを使ったが、簡便な`treewidget`だったので、viewは初めて
でもexampleサイトを見たら意外と簡単ですぐ出来た
それよりも`designer`でUIを作るのに手惑いました
基本的なところがまだわかってない気がする
インストがうまくいってないんだと思うけど、`designer`は使えるんだけどドキュメントが見れなくて、試行錯誤
解説サイト見てもよくわかんないんだよなあ・・・
とりあえずこんな感じ
結構速い、wxよりもしかしたら良いのかも???
<fig>
https://www.flickr.com/photos/148521877@N04/47951045946/in/album-72157708802592846/
https://live.staticflickr.com/65535/47951045946_09d0b7e45f_b.jpg
<code>
- treeview の作り方
`QStandardItemModel`に直接`appendRow`すればルートになる。この戻り値に対してさらに`appendRow`すれば子供、孫になっていく
`appendRow`するデータは全て`QStandardItem(string)`で作る
最後に`treeview'に`QStandardItemModel`をセットして終わり
勿論最初にセットしておいてもいい
結構簡単だった(・∀・)ノ
- 面白かったのは文字列以外の非表示データの設定。`treewidget`を使ったときはやり方がわからず、二番目のカラムにデータをセットして非表示にしたんだけど、`treeview`だと出来る。`treewidget`でも出来たのかな??
作ったviewはカラム一つなので、複数の作り方はまだわかんない
---
- 夜に試したこと
・Qtのウインドウにメニューをつける~いろいろ試してみたいことがあるときはボタンを配置してコネクトしてたが、Qtだと後から配置するのは結構めんどくさい(というかやりかたがわからん)
右クリックのコンテキストメニューを出すのも難しそう
なので前からやってみたかったウインドウメニューを使ってみたら結構簡単にできた(・∀・)ノ
`designer`で設定して、コードはこんな感じ
<code>
- treeにセットした`QStandardItemModel`をclearしたら瞬間で消えた
- 簡単なデータをセットした`QStandardItemModel`をもう一つ作って、treeへセットしたら瞬間で切り替わった
結構良い感じです( ´∀`)
これは昨日やったことです
QTreeView
-
調べたら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へセットしたら瞬間で切り替わった
結構良い感じです( ´∀`)