Open26
pysimpleguiでいろいろ
ピン留めされたアイテム
自環境メモ
・peek
でgif録画(muhenkanで録画終わり)
・gnome-screenshot --area
でキャプチャ
vimメモ
開いているファイルの内容を引数にpython3を実行
:w !python3
前の引数を利用する。
:w !!
簡単にGUIアプリを作りたい
→簡単といえばPython
→pythonでGUIフレームワークのなかではpysimpleguiが簡単らしい
→pysimpleguiを試す。
ボタンを押し続ける、画像上をhover、でwindow.read()
を実行は出来なそう。
linuxだと画像の透過部分をclick throughに出来なそう。
たぶんmouse hover関係でデフォルトで出来るのはtooltipを使った文字列の表示だけ
方針
- pysimpleguiで実現できる範囲で実装
- 実現できなかったところをtkinterとかを使って実装
理由:はじめからtkinterとかを触り始めると、いつもの如く途中で飽きる可能性が高いので。
【疑問】
以下のスクリプトを実行したとき、2つ目Windowを開いてもすぐに閉じられないのは何故?
import PySimpleGUI as sg
layout = [[sg.Button("新しいWindowを開く", key="open")]]
window = sg.Window("Main Window", layout)
while True:
event, values = window.read()
if event is None:
break
if event == "open":
sg.Window("New Window", [[sg.Text("新しいWindowを開きました")]]).read()
break
window.close()
以下の場合でもすぐに閉じられなかった。
import PySimpleGUI as sg
layout = [[sg.Button("新しいWindowを開く", key="open")]]
window = sg.Window("Main Window", layout)
while True:
event, values = window.read()
if event is None:
break
if event == "open":
win = sg.Window("New Window", [[sg.Text("新しいWindowを開きました")]])
win.read()
win.close()
break
window.close()
pdbを利用していろいろ試すとwin.read
を実行すると、
- windowを起動する
- 入力を待つ
という動作をするらしい。
複数のWindowを非同期で動かすことはできない?
ただのpirntがsg.Outputに出力されるのはなんでなんだろう。
ドキュメントを見ているとprint = sg.printしているとこはあったが。。。?
[次にしたいこと]
複数WindowA,Bを開き、WindowAを操作することでWindowBの表示内容を更新する。
久々に再開する
明日にはこれまで整理したものをアップする
アップした
localの環境を整備した
次回はコピペしたものを編集してみる