190608
<code>
リストへのドロップ操作のためにtreeviewをサブクラス化して別ファイルにした
少し大きなプログラムになってきたなあ
演奏中の列を表示するカラムを作った
カラム幅の設定がうまくいかないのでヘッダを作ったらうまくいった
ヘッダデータはモデルで設定するんだね
viewとmodelに別れたデータ表示のQTの仕組みは、わかれば簡単
widgetクラスも用意されてるけど、はじめからviewを使った方が良いと思えてきた
ドロップイベントを自分で実装したが、引数のeventから渡されたデータを取得することはできなかった
多分出来るんだろうけどなあ・・・
代わりにイベント.source()でドロップもとのtreeが取得できるので、ここで選択中の項目を取得してリストに追加することにした
ただし中途半端にデフォルトの動作を利用してるためか、ドラッグ中のインジケータの挙動など、今ひとつ思い通りになってくれない
もっと勉強が必要だなあ
リストの末尾にドロップすることが出来てない
リスト中に挿入する場合はドロップした行を取得できるんだけど、多分末尾はリストの外ということになり-1が返ってるんだと思う
もしかしたら末尾だけはinsert
じゃなくてappend
なのかもしれない
ドロップのposを自分で解析することになるのかな?
リストに曲のアーティストとアルバムを上の行に表示してるが、他の曲を挿入した場合は表示が乱れる
これを整えるのは結構面倒くさそうだなあ
mutagen
に差し替えたm = mutagen.File(f)
artwork = m.tags["APIC:"].data #
pix=QPixmap()
pix.loadFromData(artwork) #
mutagen.File
するときに、`easy=True'としてはいけないloadFromData
を使えば良いeasy=True'としない場合でもタグは普通にとれるんだけど、辞書の戻り値のkeys()を見ると、タグのキーがファイルタイプによって違ってる
easy=True'はそこら辺を使いやすく同じキーにそろえてくれてるんだと思う