安裝 pysimplegui 很簡單
pip install pysimplegui or pip3 install pysimplegui 即可
Linux, Mac, Windows 樹莓派 都支援
先說一下 pysimplegui 與其他 GUI 如 pyqt5 等的最大差異在於
pyqt5 的基本視窗宣告完時 本身視窗就可以想像是一個 while loop , 他會一直執行
但 pysimplegui 比較像一個 function
自己需要加入 while loop 讓 program 變成一個無限迴圈
這樣 windows 才會一直顯現
下面是官網的sample code ..
import PySimpleGUI as sg sg.theme('DarkAmber') # Add a touch of color # All the stuff inside your window. layout = [ [sg.Text('Some text on Row 1')], [sg.Text('Enter something on Row 2'), sg.InputText()], [sg.Button('Ok'), sg.Button('Cancel')] ] # Create the Window window = sg.Window('Window Title', layout) # Event Loop to process "events" and get the "values" of the inputs while True: event, values = window.read() if event == sg.WIN_CLOSED or event == 'Cancel': # if user closes window or clicks cancel break print('You entered ', values[0]) window.close()
一開始當然是 import package ,
sg.theme 主要是定義主題顏色 從字面上就可以看出是深底字是 琥珀色
layout 就定義 windows 內的元件有哪些
每一行就用 [] 匡起來
如第一行 就 sg.text 一個元件
第二行 有兩個 sg.text , sg.InputText
第三行就兩個 button
window = sg.Window('Window Title', layout)
就是定義一個 windows , 使用 layout 中的元件
再來就 用 while loop 讓這windows 一直跑
window.read()
此時 windows 就會出來了
但 windows 還是要能做互動啊
event, values 這兩個就是 windows 互動用的
當 button 被按下了這時有 event 時 才會往下一行執行喔
如果是 輸入 text 此時 還是不會往下作 , 但如果是按下任何一個 button , 就會觸發 event
此事程式就會往下跑
如果是 cancel被按下,event == 'Cancel'
就會結束
沒有留言:
張貼留言