0 pythonでfoobarのalternativeを作る 19 190528

これは昨日やったことです

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へセットしたら瞬間で切り替わった
    結構良い感じです( ´∀`)

0

メモを他の人に見せる

このメモを見せたい人に、このURL(今開いているページのURLです)を教えてあげてください

コメント(0)

  • someone

  • someone