0 scintilla 始める前に
190723
- 画像処理も音楽再生もそこそこ使えるプログラムが出来た
で、中途で投げ出したテキストエディタが気がかり
今ならもっとうまく書けるような気がするのさ - scintilla 、ネックは保存、エンコード
オープンはまだ良い、エラーが出ても
でも保存は困る
どうしよう?? - ここら辺はscintillaのマニュアルにも書いてない
自分で何とかしなくちゃだめなんだろう - 読み込みルーチンをエラーで完全にはじくようにするか
そうしたうえでそのコードで保存する
保存時エラーになったら保存させない
「別名で保存時は」保存のエンコードを選べる(UTF8だけね) - 考えたら保存だけで無く sendscintilla がうまく使えなくて切れてやめたような気もしてきたぞ
- 最近Qtのドキュメントを見つけたので調べてみるか
https://www.riverbankcomputing.com/static/Docs/QScintilla/annotated.html - 検索整形まわりを好きに書けたら凄く良いよな
sendscintilla
- 上のページで単純にやってみるか
具体的に何をしたかったかを覚えてないんだが? - 文書毎に関数のポインタを取得してそこに対してsendmessageしろってシンチラのドキュメントをその通りpythonでやりたかったんだった
- パラメータの使い方がのってるからそれを参考にやってみよう
設計
-
ui作り直し
ベースはウインドウにしてメニューとステータスバーをつける
左のツリーとお気に入りの間はスプリッタ-で可変にする
メインはタブだけにする -
読み込み・保存
shitjis(種類があった)とutf8,utf16 のみに対応してあとは拒絶する
エラーは受け付けない
どうしても読みたいときは警告を出して一番エラーが少ないエンコードで読み込む、その時は サロゲートエスケープを行う
https://docs.python.org/ja/3.7/library/functions.html?highlight=open#open
'strict' --> 'surrogateescape'
読み込んだエンコードで書き込む、utf8だけには変更できる -
マルチ対応
QSCintillaDocumentクラスを利用する -
検索窓
・検索窓をアウトラインの位置に置いて切り替え表示する
・複数行検索は当然出来るように
・置換も出来るように
・UI上はwidgetを置くか?通常はそこにtreeviewだが、メニューで検索に切り替える。UIは検索でつくるか?? -
その他機能
・行の数字列の加算
・矢印キーで罫線
shif-jis 雑感
- 開発を投げ出した辺りではこの問題もあって嫌になった
これにも何種類かある
文字数は基本的に増えていってるんだが、下方互換性がなく、前のverと新しいverとで表示される文字が違う場合がある
どうなってるんだ、shif-jis!!! - pythonで使える s-jis
https://docs.python.org/ja/3.7/library/codecs.html
cp932
shift_jis
shift_jis_2004
shift_jisx0213
システムのデフォルトはこれで取得
import locale
locale.getpreferredencoding(False)
- で、どれを使えばイーのよ┐('д')┌
---> scieditor2 #
コメント(0)