pythonでfoobarのalternativeを作る 19 190528 version 13

2019/05/30 21:18 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
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へセットしたら瞬間で切り替わった
    結構良い感じです( ´∀`)