[ todo ] player version 11
player todo
- リストの線これで消えるかな?
QTreeView.setRootIsDecorated (self, bool show)
- DDの実装
普通はサブクラス化するのかな
本体でconnectしてしまえば本体で書けるけどどっちが良いんだろう
オブジェクト指向で考えるとクラス主義、サブクラス化が本筋か・・
Dropだけconnectして、自分でインサートするか
どの程度の情報がくるんだろう?
PySide 編集可能なQTreeWidgetを作る
コンテキストメニューの作り方会った
https://dungeonneko.hatenablog.com/entry/2017/06/22/151913
QListViewに右クリックメニューを作る!!
https://kiwamiden.com/create-right-click-menu-in-qlistview
-------------------------------------
受け側の実装
QAbstractItemView.dropEvent (self, QDropEvent e)
QAbstractItemView.DropIndicatorPosition( self )
QDropEvent Class Reference [QtGui module]
QMimeData QDropEvent.mimeData (self)
QPoint pos (self)
QMimeData Class Reference [QtCore module]
QByteArray QMimeData.data (self, QString mimetype)
-------------------------------------
送りガワの実装の方が簡単かな??
ドラッグ&ドロップをもっと細かく!
http://melpystudio.blog82.fc2.com/blog-entry-211.html
-----------------
受け側は位置だけ
インジケーターの表示
self.setDropIndicatorShown(True)
インデックスの上下を返す
-------------
- タグ無しの場合にファイル名をタイトルとする件
書くのは簡単だと思うけど、根本部分の書き直しだとまた10分くらいかかるな
①コードを書き直し
②DBからタイトルが?のものを削除
③更新を実行
これで少し早くできるか??
まず件数をcontしてみるか
- DBとの結合
本体に完全に取り込むのはやめる方向
・watcdogで監視する必要は無いように思えてきた
・起動時に毎回スキャンし直すのも無駄なような?
・本体に更新ボタンをつけて、終わったらDBを再読み込み
・現在のDB作成pyファイルはそのままにして本体に取り込まない、外部プロセスとして実行する
・DB更新終了のタイミングをどう把握するか??通常15秒程度かかっている
・DB作成pyで、DBファイルのパスを実行ファイル名から獲るようにする
- リストにアルバムアーティストの行を入れる
foobarの挙動、どうやるんだろう??( ´∀`)
カラムをまたいだ表示
これで行けるのか???
QTreeView.setFirstColumnSpanned (self, int row, QModelIndex parent, bool span)
If span is true the item in the first column in the row with the given parent is set to span all columns, otherwise all items on the row are shown.
This function was introduced in Qt 4.3.
QTreeView merge some cells
https://stackoverflow.com/questions/27149733/qtreeview-merge-some-cells
-----------------
- カラム幅の設定
self.view.header().resizeSection(column, width)
モデルを設定したあとで設定
ヘッダを消す前かな??
QTreeViewのヘッダの幅をいい感じにする方法!!
https://kiwamiden.com/how-to-feel-the-width-of-qtreeviews-header-nice
QTreeViewはデフォルトでは、カラムの一番右の場所がストレッチするようになっています。まずはこの設定をOFFにしましょう!
QHeaderView.setStretchLastSection
view.header().setStretchLastSection(False)
view.header().setStretchLastSection(False)
view.header().setResizeMode(0, QtGui.QHeaderView.Stretch)
view.header().setResizeMode(1, QtGui.QHeaderView.ResizeToContents)
view.header().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)
view.header().setResizeMode(3, QtGui.QHeaderView.ResizeToContents)
------
コンテキストメニューの作り方会った
https://dungeonneko.hatenablog.com/entry/2017/06/22/151913
右クリックメニューの実装
https://kiwamiden.com/create-right-click-menu-in-qlistview
```
# これはwidgetの属性
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.contextMenu)
def contextMenu(self, point):
menu = QtGui.QMenu(self)
for i in range(5):
action = QtGui.QAction('Menu%s' % i, self)
menu.addAction(action)
menu.exec_(self.mapToGlobal(point))
```
-
リストの線これで消えるかな?
QTreeView.setRootIsDecorated (self, bool show) -
DDの実装
普通はサブクラス化するのかな
本体でconnectしてしまえば本体で書けるけどどっちが良いんだろう
オブジェクト指向で考えるとクラス主義、サブクラス化が本筋か・・
Dropだけconnectして、自分でインサートするか
どの程度の情報がくるんだろう?
PySide 編集可能なQTreeWidgetを作る
受け側の実装
QAbstractItemView.dropEvent (self, QDropEvent e)
QAbstractItemView.DropIndicatorPosition( self )
QDropEvent Class Reference [QtGui module]
QMimeData QDropEvent.mimeData (self)
QPoint pos (self)
QMimeData Class Reference [QtCore module]
QByteArray QMimeData.data (self, QString mimetype)
送りガワの実装の方が簡単かな??
ドラッグ&ドロップをもっと細かく!
http://melpystudio.blog82.fc2.com/blog-entry-211.html
受け側は位置だけ
インジケーターの表示
self.setDropIndicatorShown(True)
インデックスの上下を返す
-
タグ無しの場合にファイル名をタイトルとする件
書くのは簡単だと思うけど、根本部分の書き直しだとまた10分くらいかかるな
①コードを書き直し
②DBからタイトルが?のものを削除
③更新を実行
これで少し早くできるか??
まず件数をcontしてみるか -
DBとの結合
本体に完全に取り込むのはやめる方向
・watcdogで監視する必要は無いように思えてきた
・起動時に毎回スキャンし直すのも無駄なような?
・本体に更新ボタンをつけて、終わったらDBを再読み込み
・現在のDB作成pyファイルはそのままにして本体に取り込まない、外部プロセスとして実行する
・DB更新終了のタイミングをどう把握するか??通常15秒程度かかっている
・DB作成pyで、DBファイルのパスを実行ファイル名から獲るようにする -
リストにアルバムアーティストの行を入れる
foobarの挙動、どうやるんだろう??( ´∀`)
カラムをまたいだ表示
これで行けるのか???
QTreeView.setFirstColumnSpanned (self, int row, QModelIndex parent, bool span)
If span is true the item in the first column in the row with the given parent is set to span all columns, otherwise all items on the row are shown.
This function was introduced in Qt 4.3.
QTreeView merge some cells
https://stackoverflow.com/questions/27149733/qtreeview-merge-some-cells
- カラム幅の設定
self.view.header().resizeSection(column, width)
モデルを設定したあとで設定
ヘッダを消す前かな??
QTreeViewのヘッダの幅をいい感じにする方法!!
https://kiwamiden.com/how-to-feel-the-width-of-qtreeviews-header-nice
QTreeViewはデフォルトでは、カラムの一番右の場所がストレッチするようになっています。まずはこの設定をOFFにしましょう!
QHeaderView.setStretchLastSection
view.header().setStretchLastSection(False)
view.header().setStretchLastSection(False)
view.header().setResizeMode(0, QtGui.QHeaderView.Stretch)
view.header().setResizeMode(1, QtGui.QHeaderView.ResizeToContents)
view.header().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)
view.header().setResizeMode(3, QtGui.QHeaderView.ResizeToContents)
コンテキストメニューの作り方会った
https://dungeonneko.hatenablog.com/entry/2017/06/22/151913
右クリックメニューの実装
https://kiwamiden.com/create-right-click-menu-in-qlistview
# これはwidgetの属性
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.contextMenu)
def contextMenu(self, point):
menu = QtGui.QMenu(self)
for i in range(5):
action = QtGui.QAction('Menu%s' % i, self)
menu.addAction(action)
menu.exec_(self.mapToGlobal(point))