1. PySimpleGUI簡介
2. PySimpleGUI基礎(chǔ)用法
- 圖形窗口的一些要素:(1) 窗口風(fēng)格(顏色等); (2)窗口標(biāo)題;(3) 界面布局; (4)控件及其事件響應(yīng)
- 在深入研究PySimpleGUI用法細節(jié)之前,用一個實例展示PySimpleGUI的基礎(chǔ)語法。
2.1. 一個完整的PySimpleGUI實例
# 原碼鏈接: https://pysimplegui.readthedocs.io/en/latest/
# 注釋是作者所加
# Annotator: 潛水的007
import PySimpleGUI as sg # 導(dǎo)入PySimpleGUI模塊,并命名為sg(sg為官網(wǎng)推薦命名,可用其他字符替代)
sg.theme('DarkAmber') # 設(shè)置窗口主題樣式,參數(shù)為樣式名稱,本樣式為:"黑琥珀"
# 布局layout 是一個二維列表,包含窗口界面將要呈現(xiàn)的控件
# 布局layout二維列表中的每個元素代表一行,每個元素的子列表代表一行中的多個控件
layout = [ [sg.Text('Some text on Row 1')], #本行1個控件,靜態(tài)顯示文本
[sg.Text('Enter something on Row 2'), sg.InputText()], # 本行2個控件,分別是靜態(tài)顯示文本和文本輸入框
[sg.OK('OK', key='OK'), sg.Cancel('Cancel', key='Cancel')]] # 本行2個控件,分別是"確定"和"取消"按鍵,參數(shù)1為按鍵的顯示文字,參數(shù)key為按鍵的鍵值
# 定義好layout后,創(chuàng)建窗口
window = sg.Window('Window Title', layout) # 把構(gòu)造的布局加入窗口中
# Event Loop to process "events" ,添加事件處理
while True:
event, values = window.read() # 用于讀取頁面上的事件和輸入的數(shù)據(jù)。
# 其返回值為('事件', {0: '輸入控件1接收的值', 1: '輸入控件2接受的值'})
if event == 'Cancel': #
break # 退出循環(huán)
window.close() # 關(guān)閉窗口界面
2.2. PySimpleGUI圖形界面基本構(gòu)建步驟
- (1) 設(shè)置窗口主題樣式
- (2) 設(shè)計窗口布局,調(diào)用PySimpleGUI模塊定義好的各種控件
- (3) 創(chuàng)建窗口
- (4) 添加事件處理
- (5) 關(guān)閉窗口界面
- 窗口布局是關(guān)鍵,而控件是布局的關(guān)鍵,因此了解并熟悉各種控件是用好PySimpleGUI的基本前提
- 創(chuàng)建GUI界面(窗口)前,需定義好窗口主題樣式,和窗口界面中的控件及其響應(yīng)事件處理
3. PySimpleGUI常用控件
| 序號 |
控件函數(shù) |
控件類型 |
| 1 |
文本控件 |
| 1-1 |
sg.Text() 或者 sg.T() |
靜態(tài)顯示文本 |
| 1-2 |
sg.Input() 或 sg.In() 或 sg.InputText() |
文本輸入框 |
| 1-3 |
sg.Listbox() |
多行列表文本框 |
| 1-4 |
sg.Multiline() |
大文本框 |
| 2 |
按鍵控件 |
| 2-1 |
sg.Button() 或 sg.B() |
按鍵 |
| 2-2 |
sg.Exit() |
退出按鍵 |
| 2-3 |
sg.OK() |
確認(rèn)按鍵 |
| 2-4 |
sg.Cancel() |
取消按鍵 |
| 2-6 |
sg.Submit() |
提交按鍵 |
| 3 |
彈窗控件 |
| 3-1 |
sg.popup() |
單一確認(rèn)按鍵彈窗 |
| 3-2 |
sg.popup_ok() |
默認(rèn)ok按鍵彈窗 |
| 3-3 |
sg.popup_yes_no() |
帶Yes和No按鍵的彈窗 |
| 3-4 |
sg.popup_cancel() |
帶cancel按鈕的彈窗 |
| 3-5 |
sg.popup_ok_cancel() |
帶OK和cancel按鈕的彈窗 |
| 3-6 |
sg.popup_error() |
帶紅色error按鈕的彈窗 |
| 3-7 |
sg.popup_yes_no() |
帶Yes和No按鍵的彈窗 |
| 3-8 |
sg.popup_auto_close() |
幾秒后自動關(guān)閉的彈窗 |
| 3-9 |
sg.popup_scrolled() |
文字內(nèi)容彈窗 |
| 3-10 |
sg.popup_get_text() |
獲取用戶輸入的彈窗 |
| 3-11 |
sg.popup_get_file() |
文件選擇彈窗,可用于文件保存 |
| 3-12 |
sg.popup_get_folder() |
文件夾選擇彈窗 |
| 3-13 |
sg.one_line_progress_meter() |
進度條彈窗 |
| 4 |
文件(夾)選擇控件 |
| 4-1 |
sg.FileBrowse() |
文件選擇 |
| 4-2 |
sg.FolderBrowse() |
文件夾選擇 |
| 5 |
單選/復(fù)選框 |
| 5-1 |
sg.Checkbox() |
多選框 |
| 5-2 |
sg.Radio() |
單選框 |
| 5-3 |
sg.InputCombo() |
下拉列表框 |
| 5-6 |
sg.InputOptionMenu() |
下拉選項 |
| 6 |
其他 |
| 6-1 |
sg.Menu() |
菜單 |
| 6-2 |
sg.Frame() |
塊 |
| 6-3 |
sg.Column() |
定義列 |
| 6-4 |
sg.ProgressBar() |
進度表/進度條 |
| 6-5 |
sg.Slider() |
滾動條 |
| 6-6 |
sg.Print() |
打印到調(diào)試窗口 |
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。