[ todo ] player version 15
player todo
- タグビューにエンコードタイプを表示したい
- リストの線これで消えるかな?
QTreeView.setRootIsDecorated (self, bool show)
- これに変えよう
get_length(self)
Get the current movie length (in ms). source code
get_time(self)
Get the current movie time (in ms). source code
set_time(self, i_time, b_fast)
Set the movie time (in ms). source code
get_position(self)
Get movie position as percentage between 0.0 and 1.0.
- スライダーいるかなやっぱり
---------
### DD後のリストのデータ整理
- DBのtreeの挙動
・アイテムクリックで、アーティストなら無視、アルバムなら子供の曲を全て選択
・その状態でドラッグさせると、全てリストに渡る
- Listの挙動
・リストでは、これを本体でコネクトしてドロップ後に処理する
QTreeView.rowsInserted (self, QModelIndex parent, int start, int end)
・挿入されたデータをチェックして(n,1)を(n,2)に移動、(n,1)は""にしておいてプレイイングのフラッグにする
- 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))
```
-
タグビューにエンコードタイプを表示したい
-
リストの線これで消えるかな?
QTreeView.setRootIsDecorated (self, bool show) -
これに変えよう
get_length(self)
Get the current movie length (in ms). source code
get_time(self)
Get the current movie time (in ms). source code
set_time(self, i_time, b_fast)
Set the movie time (in ms). source code
get_position(self)
Get movie position as percentage between 0.0 and 1.0. -
スライダーいるかなやっぱり
DD後のリストのデータ整理
-
DBのtreeの挙動
・アイテムクリックで、アーティストなら無視、アルバムなら子供の曲を全て選択
・その状態でドラッグさせると、全てリストに渡る -
Listの挙動
・リストでは、これを本体でコネクトしてドロップ後に処理する
QTreeView.rowsInserted (self, QModelIndex parent, int start, int end)
・挿入されたデータをチェックして(n,1)を(n,2)に移動、(n,1)は""にしておいてプレイイングのフラッグにする -
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))