190605
出来た(・∀・)ノ
index = treeview.model().index(3, 0)
treeview.setCurrentIndex (index)
3行目(実際は4行目)を選択表示します
ビューに対してインデクスを指定してやれば良いだけだが、インデクス自体はビューではなくてモデルの属性です
考えたらそうだよなあとは思いますが、ビューとデータが分離してるのでわかりやすいというかわかりづらいというか微妙
指定行が隠れている場合は自動的に見えるようにしてくれます
foobarは現在演奏している曲がわからなくなるときがあるのでこの挙動の方が良いと思う
演奏中にリストをいじった場合、インデクスが変わる可能性がある
変わるのは演奏曲の上のリストをいじった場合
何らかのメッセージに対応するか?
曲をリストから検索する方法はダメ 二重にリスト化されてる可能性もあるから
リストにカラムを追加して演奏中のフラグを立てておけば良いかな
そのフラグの下の曲を次に演奏すればいい
演奏中の曲を削除した場合はどうする?
フラグが立ってたら削除できないようにするか、削除後の直上に仮のフラグを立てるか
フラグ対応なら行を選択する必要もなくなるな( ̄― ̄?)
190606
リストのルートの線はこれで消えた
QTreeView.setRootIsDecorated (0)
特定行だけカラムを無視して一列にする
これでイケた、簡単だった (・∀・)ノ
index=TreeView.selectedIndexes ()[0]
TreeView.setFirstColumnSpanned (index.row() ,index.parent() ,1)
これは行を選択してからその行を伸ばすコード
勿論特定の行でも良い
selectedIndexes
はリストでQModelIndex
が返ってくるので最初の要素を取り出した
setFirstColumnSpanned
は三番目のパラメータのparentってのがぴんとこない、rowだけで良いような気がするけど
rowsInserted
を使ってみたrowsInserted
のメッセージを捕まえて操作してみたrowsInserted.connect
としてもエラーになるQAbstractItemModel
のシグナルにあった