3DCG屋さんの活動記録

PROFILE ★★こんな人です

3DCGを活用した映像や没入体験コンテンツの制作をしています。テクノロジーの社会実装に興味があり。テクニカルディレクター。面白いこと新しいことにワクワクする気持ちに『素直』でいつづける。

ラベル GUI の投稿を表示しています。 すべての投稿を表示
ラベル GUI の投稿を表示しています。 すべての投稿を表示

2024年2月8日木曜日

Python をEXEファイルに


PySimpleGUI EXE maker 使って、PythonをEXEに簡単にできる。

https://pypi.org/project/pysimplegui-exemaker/

 

インストールしたら、コマンドプロンプトで実行。


cmdでGUI起動!!!

//pip install pysimplegui-exemaker

python -m pysimplegui-exemaker.pysimplegui-exemaker


上のテキストボックスに pythonファイルを、

下のテキストボックスに .ico ファイルを。

んで、実行すれば、pythonのフォルダにexeできる。


超簡単。以上!!



------------------------------------

ただ、連続で作成しようとするとエラー出ることが。

そんなときは、、、


①cmd開いて、pyinstalelrのフォルダに移動

cd {pyinstaller.pyのあるフォルダ}


もしパスがわからないときは

pip show pyinstaller


で調べよう!!site-packages にあるんじゃないかな。


②そこに、画面に出てるテキストをまるっとコピペして実行


③終わったら、もっかいMakeEXE をしてみよう!!!

→ 成功。EXE出てる。


----------------------------
以上。一年以上ぶりの投稿。
昨年2023年は怒涛の一年でした。。
今年は、新しいことに挑戦していこうと思っています。


2022年5月6日金曜日

Windowsの自動化ツールを、Python+GUIで作る!(取り組み編)


 Windowsで使うGUIツールをPythonで作りたい。

Python + GUI


GUIのライブラリどれ使おうか・・・

PySimpleGUIがつかいがってよさそう!(機能はそこそこつかえればOK)


参考

https://speakerdeck.com/okajun35/pythondedesukutotupuapuriwojian-dan-nizuo-rufang-fa?slide=26


てことで、、まずはPySimpleGUIをインストール


pip install pysimplegui


つづけて、exeにするやつインストール


pip install pysimplegui-exemaker

※起動はこちら

python -m pysimplegui-exemaker.pysimplegui-exemaker




GUIサンプルが多数ダウンロードできます!

https://github.com/PySimpleGUI/PySimpleGUI


DLして解凍後、

PySimpleGUI-master\DemoPrograms 内のpyを各自実行すると

様々なGUIが確認できます。


★サンプルGUIの閲覧にはまずこちら!!

- Demo_Script_Lancher.py


PythonScriptの実行が素早く行えるランチャー。

複数選択してRunすると、サンプル一括起動できるので

いろいろなGUIを見るのに最適。



こんなかんじで



以上!


良いGUIライフを。

2022年2月22日火曜日

PySimpleGuiはじめました。  Python GUI のラッパー。


 UEへのAlembicバッチインポーターを作るに当たり、

PythonのGUIを作成したいってことで、

PyQtを考えてたけど、正直今まで使いこなせてなかったのと

将来性を考えて → PySimpleGuiを使ってみよう!



インストールからいろはこちらで



早速やりたいこと

・ファイルオープンダイアログ

・ファイルパスを複数リスト化

・各ファイルに応じた文字列(UEへのインポートフォルダ)の欄

・シンプルなボタン


以上。


Windowの可変は resizable=True

Widgetの可変は keyを事前に設定、windowsをfinalize、expand






https://pysimplegui.readthedocs.io/en/latest/#finalize-or-window-parameter-finalizetrue

https://novnote.com/pysimplegui-tips/617/#i-5




今日の成果・・・Tableにして、テキストボックスにして、、


あー!ListBoxじゃなくて編集できるようにTextBoxにしたい!

あー!読み込み先のパス表示できるようにTableにしたい!







# 元のファイル https://pysimplegui.trinket.io/demo-programs#/examples-for-reddit-posts/visual-basic-mockup

import PySimpleGUI as sg
from os.path import basename

#frame1 = [[sg.Radio('1ファイルにシートごとにまとめる', 1, key='-MULTI-SHEET-', default=True)],
#          [sg.Radio('1ファイル1シートにまとめる', 1, key='-ONE-SHEET-')]]


layout = [[sg.Text('Set Alembic Files', size=(15, 1), justification='left'),
          sg.InputText('enter file path', enable_events=True,key='-PATH-'),
          sg.FilesBrowse('Brows', size=(10,1),key='-FILES-', file_types=(('Alembic ファイル', '*.abc'),))],
          #[sg.Button('ログをコピー'), sg.Button('ログをクリア')],
          #[sg.Output(size=(100, 5), key='-MULTILINE-')],
          #[sg.Button('入力一覧をクリア')],
          [sg.Listbox([], size=(50, 2), enable_events=True, key='-LIST-')],
          [sg.Button('Import',key="key_btn_import")]
          ]

window = sg.Window('AbcBatchImport', layout,resizable=True,finalize=True)
#window["-PATH-"].expand(expand_x=True, expand_y=False)  # ウィンドウサイズに応じて入力エリアを可変に
window["-LIST-"].expand(expand_x=True, expand_y=True)  # ウィンドウサイズに応じて入力エリアを可変に

new_files = []
new_file_names = []

while True:             # Event Loop
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == 'key_btn_import':
        if values['-FILES-'] != '':
            print('FilesBrowse')

            # TODO:実運用には同一ファイルかどうかの処理が必要
            new_files.extend(values['-FILES-'].split(';'))
            new_file_names.extend([basename(file_path) for file_path in new_files])

            print('ファイルを追加')
            window['-LIST-'].update(new_file_names)  # リストボックスに表示します

   

window.close()