3DCG屋さんの活動記録

PROFILE ★★こんな人です

映像制作会社でクリエイティブの修行中。日ごろはMaya&AEを中心にいろんなCGソフトを触りながら、TD寄りの作業が好きで、インタラクティブな体験型空間演出をやりたいと模索中。面白いこと新しいこと大好きな『素直』でいつづける

2019年3月15日金曜日

pyqt で 自作スクリプト 備忘録2


備忘録続き

■GUI起動時・閉じたときに実行される処理!
GUIの設定を保存して、次回開くときに設定を保持するには
読み込みpyに以下のdefを追加すると便利!!!

以下、参考サイトのほぼほぼ引用ですが!

class mainUI(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(mainUI, self).__init__(parent)
        self.ui = test_Ui.Ui_MainWindow()
        self.ui.setupUi(self)
        self.load_setting()
    def load_setting(self):
print "LoadSetting!"
    def closeEvent(self, event):
     print "GoodBye!"
def main():
    app = QtGui.QApplication(sys.argv)
    win = mainUI()
    win.show()
    sys.exit(app.exec_())
main()



load_setting
closeEvent

なるほどーこれは便利!!!



■なんじゃこりゃエラー
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)」

こちら方の解説通りやったら解決したので、メモメモ

①まずエラーが出る環境で以下を実行

import sys
print(sys.getdefaultencoding())

→結果が ascii ならアウト!(きっとまちがいなくこれ)

②site-packageにあるpyを新規保存
そのためにフォルダ探す

import site
print (site.getsitepackages())
ちなみに私は C:\Program Files\Autodesk\Maya2018\Python\Lib\site-packages でした




③ そして site-package フォルダに以下を保存!

import sys
sys.setdefaultencoding('utf-8')
sitecustomize.py の名前で

④ はい、確認で環境で以下を実行


import sys
print(sys.getdefaultencoding())

→結果が utf-8 なら成功!!



参考にしたサイト ~感謝を込めて~
http://flame-blaze.net/archives/5696
https://qiita.com/jack-low/items/91bf9b5342965352cbeb
http://shu223.hatenablog.com/entry/20111201/1328334689
https://qiita.com/chatrate/items/eb4b05cd1a6652529fd9

0 コメント:

コメントを投稿