scieditor2 hoge version 10

2019/08/24 00:15 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
scieditor2   hoge
- 保存ルーチンを見直し、try errors ristrict にして保存できない場合はその場所に飛ぶようにしたい

- アウトライン変更
まずウイジェットをビューにしてから、モデルをサブクラスで保持する仕様にする
これはバージョン管理だな

---
190824
- loadfile の研究
一旦バイナリで読み込んでからsettextに渡すときにdecodeする
一旦バイナリで読み込んでからsettextに渡すときにdecodeするようにした
このときエンコードタイプをイテレータにしてループでtryする
全てのエンコードタイプで失敗したらエラーを表示する
- ファイルオープンでエラーを出すかデコードでエラーを出すかの違いなんだけど、何度もファイルオープンするのが何となくいやだった
バイナリで読めばエラー出ないからこの方がスマートかなと
- u8ならバイナリのままシンチラに渡したかったけど出来なかった
setTextが文字列しか受け取らない
バイナリのまま渡せると思うんだけど??

---
ctypes 文字列
https://www.haya-programming.com/entry/2018/11/05/023748

pthon3
str   unicode
byte  encoded u8,shiftjis ///

byte をデコードしたら unicode になる

---
- 保存
①utf8
シンチラからゲットしたバイナリをそのままバイナリで書き込めば良い
②utf8以外
シンチラからゲットしたバイナリをデコードしてから保存時にそのコーデックにエンコードする(今の保存ルーチンのまま)
- エラー処理
上記①ではエラーは発生し得ない
②の場合エンコードエラーとなる可能性があるがその時はstrictにして保存させないようにする
エラー文字をハイライトにして飛ぶようにしたいな

---
# コンテキストメニュー

- 本体を大きくしないようにサブクラス化しよう
designer でプロモートする mylistview()
本体の機能を移す

```
from PyQt5.QtWidgets import QMenu
from PyQt5.QtGui import QCursor 

self.setContextMenuPolicy(Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.cmenu )

    def cmenu (self,e):
        menu=QMenu(self)
        action = QAction('DELL', self)
        action.triggered.connect(self.filedel)
        menu.addAction(action)

        action = QAction('CUT', self)
        action.triggered.connect(self.fileCut)
        menu.addAction(action)

        menu.exec_(QCursor.pos ())  
```








----
---> [scieditor2](https://mimemo.io/m/zeXgworpjz4K0Ek)

      
  • 保存ルーチンを見直し、try errors ristrict にして保存できない場合はその場所に飛ぶようにしたい

  • アウトライン変更
    まずウイジェットをビューにしてから、モデルをサブクラスで保持する仕様にする
    これはバージョン管理だな


190824

  • loadfile の研究
    一旦バイナリで読み込んでからsettextに渡すときにdecodeするようにした
    このときエンコードタイプをイテレータにしてループでtryする
    全てのエンコードタイプで失敗したらエラーを表示する
  • ファイルオープンでエラーを出すかデコードでエラーを出すかの違いなんだけど、何度もファイルオープンするのが何となくいやだった
    バイナリで読めばエラー出ないからこの方がスマートかなと
  • u8ならバイナリのままシンチラに渡したかったけど出来なかった
    setTextが文字列しか受け取らない
    バイナリのまま渡せると思うんだけど??

ctypes 文字列
https://www.haya-programming.com/entry/2018/11/05/023748

pthon3
str unicode
byte encoded u8,shiftjis ///

byte をデコードしたら unicode になる


  • 保存
    ①utf8
    シンチラからゲットしたバイナリをそのままバイナリで書き込めば良い
    ②utf8以外
    シンチラからゲットしたバイナリをデコードしてから保存時にそのコーデックにエンコードする(今の保存ルーチンのまま)
  • エラー処理
    上記①ではエラーは発生し得ない
    ②の場合エンコードエラーとなる可能性があるがその時はstrictにして保存させないようにする
    エラー文字をハイライトにして飛ぶようにしたいな

コンテキストメニュー

  • 本体を大きくしないようにサブクラス化しよう
    designer でプロモートする mylistview()
    本体の機能を移す
from PyQt5.QtWidgets import QMenu
from PyQt5.QtGui import QCursor 

self.setContextMenuPolicy(Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.cmenu )

    def cmenu (self,e):
        menu=QMenu(self)
        action = QAction('DELL', self)
        action.triggered.connect(self.filedel)
        menu.addAction(action)

        action = QAction('CUT', self)
        action.triggered.connect(self.fileCut)
        menu.addAction(action)

        menu.exec_(QCursor.pos ())  

---> scieditor2