その他もろもろの開発 # 目次 version 3
画像のビューアを作る # prog
foobarがバリバリ実用出来るようになってきたので画像の方に行く
今は自作のビューアを10年以上使ってる
PCが32bitの時に自作して64でも使ってる
画像表示はgflってxnviewが公開してたdllを使ったもの
今ならQtで簡単に行けそうだが、自作のビューアは複数画像をzip化したり文字をjpgに埋め込んだり簡易編集もできるものだった
全ての機能は無理かもしれないけどゆっくり出来ることをやっていきます
# 画像表示について調べてみた
- デザイナは使わなくても良いかな
mainwindow
label
layout
pixmap
だけでとりあえず表示できそう
引数対応だが基本はドラッグかな?
- そのフォルダの画像ファイルは列挙してリスト化してホイールで切り替えれるように
これ使ってみたい、簡単かな
QFileSystemModel Class Reference [QtGui module]
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir.currentPath());
- glob で列挙簡単だった、こっちにしよう、拡張子のフィルタも出来たはず
glob.iglob イテレータ
glob.glob リスト
```
import os
import glob
from itertools import chain
search_dir = "path/to/"
ext_list = ["jpg", "png"]
file_list = list(chain.from_iterable([glob.glob(os.path.join(search_dir, "*." + ext)) for ext in ext_list]))
```
- 複数の拡張子は無理みたいだ
拡張子毎にglobしてリストを合体してソートか
list.sort() 破壊的
newlist = list.sorted() 非破壊
```
pics=[]
ext=['jpg','jpeg',`png','gif']
for e in ext :
pics += glob.glob( <folda> , '*.'+ e )
pics.sort()
print( pics )
```
- 現在のファイルのインデクスと個数を検索して記憶
current['index']=pics.index(<現在のファイル>)
current['size']=len(pics)
- マウスホイールの受付、ただのwheelだった
def wheelEvent (self, QWheelEvent e)
print( e.delta() ) # mouseWheel
- graphicsView 編集する場合はこれですね
# qt sql
簡単にSQLを使えるようだがtree構造に出来るんだろうか?
QtSql Module
QSqlQueryModel
QSqlTableModel
アーティスト アルバム 曲 ファイル
アーティスト アルバム 曲 ファイル
アーティスト
アルバム
曲 ファイル
曲 ファイル
foobarがバリバリ実用出来るようになってきたので画像の方に行く
今は自作のビューアを10年以上使ってる
PCが32bitの時に自作して64でも使ってる
画像表示はgflってxnviewが公開してたdllを使ったもの
今ならQtで簡単に行けそうだが、自作のビューアは複数画像をzip化したり文字をjpgに埋め込んだり簡易編集もできるものだった
全ての機能は無理かもしれないけどゆっくり出来ることをやっていきます
画像表示について調べてみた
-
デザイナは使わなくても良いかな
mainwindow
label
layout
pixmap
だけでとりあえず表示できそう
引数対応だが基本はドラッグかな? -
そのフォルダの画像ファイルは列挙してリスト化してホイールで切り替えれるように
これ使ってみたい、簡単かな
QFileSystemModel Class Reference [QtGui module]
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir.currentPath()); -
glob で列挙簡単だった、こっちにしよう、拡張子のフィルタも出来たはず
glob.iglob イテレータ
glob.glob リスト
import os
import glob
from itertools import chain
search_dir = "path/to/"
ext_list = ["jpg", "png"]
file_list = list(chain.from_iterable([glob.glob(os.path.join(search_dir, "*." + ext)) for ext in ext_list]))
- 複数の拡張子は無理みたいだ
拡張子毎にglobしてリストを合体してソートか
list.sort() 破壊的
newlist = list.sorted() 非破壊
pics=[]
ext=['jpg','jpeg',`png','gif']
for e in ext :
pics += glob.glob( <folda> , '*.'+ e )
pics.sort()
print( pics )
-
現在のファイルのインデクスと個数を検索して記憶
current['index']=pics.index(<現在のファイル>)
current['size']=len(pics) -
マウスホイールの受付、ただのwheelだった
def wheelEvent (self, QWheelEvent e)
print( e.delta() ) # mouseWheel -
graphicsView 編集する場合はこれですね
qt sql
簡単にSQLを使えるようだがtree構造に出来るんだろうか?
QtSql Module
QSqlQueryModel
QSqlTableModel
アーティスト アルバム 曲 ファイル
アーティスト アルバム 曲 ファイル
アーティスト
アルバム
曲 ファイル
曲 ファイル