--- Title: scieditor2 hoge Author: yamasyuh68 Web: https://mimemo.io/m/XLx9alVK1A470BJ --- @[TOC](項目なり) # IME変換について ひらがなをたくさん入力した後の確定前なら、カーソルで変換箇所を指定できるのが普通 しかしscieditor2ではこれが出来ないことがわかってきた 短めに入力していけば良いのだけれども 結構不便ですわ ┐('д')┌ notepad++で動作確認してみようか # foobalt - 演奏停止状態で終了したら曲を保存しないバグFIX ## VLC キャッシュ設定 - 191103 やってみた あすたらびすた http://blog.livedoor.jp/hasta_la_vista/archives/52213920.html VLCのバッファ、キャッシュ設定 https://figfig-anime.blog.ss-blog.jp/2014-07-10 # モジュールの動的インポート 191024 - 出来たけどふと考えた スクリプト上に普通に import を書いてるんだから起動時に読み込むんじゃないだろうか 冒頭に書こうがクラスの中の関数に書こうが同じような??? 実験してみるか わざとエラーになるスクリプトを書いてみれば良い # 保存時に状態も保存する - 保存時に状態も保存する 本体の保存メッセージ処理の中で状態保存ルーチンを呼ぶだけ def tabCloseMessage(self,e):の self.db.save() 参照 - tabCloseバグ tabCloseMessageではかならず状態保存するが編集文書の保存確認をまずすること close するタブのsciを取得して if sci.sendScintilla( 2159 ) : # SCI_GETMODIFY = 2159 reply = QMessageBox.question(self, 'Confirm',"want to Refresh Tree ?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes ) if reply == QMessageBox.Yes: <保存> # 保存すれば自動的に状態保存になる else : 状態を保存 - 編集文書の終了確認 シンチラの ismodfy フラグがあったはず、それを利用 tabcloseと終了処理時に呼び出す # 強制的にU8で保存 # 行頭空白削除も簡単だよな 範囲指定あるなしで分岐する仕組みは同じだな 機能をクラス化して分けた方が良いかも?? # お気に入りファイルを保存した場合は自動でビューを更新 --- --- # 派生クラスからのシグナルを一本化する # BugFix - アナライズが再構築のときはうまく作動しない # 拡張子CSVでテーブルビュー表示 # Cython Numba [公式チュート](http://omake.accense.com/static/doc-ja/cython/src/userguide/tutorial.html) - Numba AOT https://qiita.com/yniji/items/5b191d4274f53c8f751a - numbaによるfor文の高速化とjitの引数 https://qiita.com/nabenabe0928/items/a02964d8b48619b1e348 # かな漢字モードでカーソルかえる IME変換モード ここもかな http://www7a.biglobe.ne.jp/~tsuneoka/win32tech/7.html IMEのON/OFF状態を取得したい。 https://teratail.com/questions/137570 ``` from ctypes import WinDLL from threading import Thread from time import sleep from tkinter import Tk def ime_check(): user32 = WinDLL("user32") imm32 = WinDLL("imm32") while True: hWnd = user32.GetForegroundWindow() hIMC = imm32.ImmGetContext(hWnd) print("hWnd:", hWnd, "hIMC:", hIMC, "ImmGetOpenStatus:", imm32.ImmGetOpenStatus(hIMC)) imm32.ImmReleaseContext(hWnd, hIMC) sleep(1) Thread(target=ime_check, daemon=True).start() root = Tk() root.mainloop() ``` ## get winhandle - Widgetのウィンドウハンドル(HWND)を取得する Widgetのウィンドウハンドル(WindowsのHWND)を取得するには、Wid QWidget::wndId()またはWId QWidget::effectiveWinId()を使用する。 effectiveWinId()はそのWidgetが正当なウィンドウハンドルを持っていない場合は親を辿って有効なウィンドウハンドルを探す。 返す値はWIdというQtの型なのでプラットフォームに適した型にキャストして使用する。 # 実験 - analyze 計測したい、シンチラの関数→シンチラの方が速い(゚Д゚) - 検索 置換文字列に \r\n を入れたら改行する 検索文字列では無視された **複数行検索は独自実装だな** - 文書取得の実験 print( 'byte' , self.bytes( 0 , self.length() ) ) # ---> bytearray print( 'text' , self.text() ) # ---> str - 保存時u8ならself.bytesでいけるのか?? - 高速化 numba 逆に遅くなった - treeWidget に setModel() する --> できません ┐('д')┌ # 疑問 - 同じuiファイルに複数のダイアログを作れるか - ダイレクトコール できません┐('д')┌ 本家サイトで推奨してるので何とか導入したいんだけど pythonは基本的にはポインタを意識しなくて良い言語だけど、知識がないと対応できない むしろ型宣言がしっかりした言語の方が使いやすいのかもしれないと思ったりします cのように、型が厳格なくせにキャストはやりたい放題とか( ´∀`) 出来た方がいらしたら是非教えていただきたいです # タブにコンテキストつけて全て閉じるとか実装 - しかしこれなくても良い、簡単だけど 何となく次々と機能増やしたらいつかすごく遅くなってたりするんじゃないのかなって思ったりした # 将来的に ## テキストのクリッカブル レクサーの機能みたいだけど ダブルクリック位置の文字列を取り出して何かするのは実装出来そう ## Python で定数を定義する https://maku77.github.io/python/syntax/const.html - 定数用のクラスを作るって事みたい、使えるかな ## 定型句挿入 上のタブにリストを追加するか?絵文字は使うけどな あんまり使わないかなあ・・・・ ## gPad の罫線機能を実装 ## GrEP - 前に作ったルーチンを使う ヒットしたファイルは新規タブを作って表示していく ダブルクリックで飛びたい - ディレクトリ選択型ダイアログ http://qt-log.open-memo.net/sub/dialog__directory_dialog.html ## tryのexceptionを全て表示 ## お気に入りのフォルダ sql 化 - **テキストの方が簡単に直せて良いかもだなあ** - sql 化する前に実験する ①treeview とボタンだけのダイアログをdesignerで作って実験する ボタン:ok : cancel : insFolda ②ドラッグでファイルを追加できること、DDで順番を変更できること ③その順番でsqlで書き出しできること、読みこみできること ---- --- カラーコード http://www.netyasun.com/home/color.html ---- ---> [scieditor2](https://mimemo.io/m/zeXgworpjz4K0Ek)