Python 圖形界面1: PySimpleGUI基礎(chǔ)用法及常用控件列表

1. PySimpleGUI簡介

  • PySimpleGUI 是一款很棒的python圖形界面模塊
  • 官網(wǎng):https://pysimplegui.readthedocs.io/en/latest/
  • 安裝:pip install PySimpleGUI
  • 導(dǎo)入:import PySimpleGUI as sg # python環(huán)境,官方推薦將PySimpleGUI 簡記為sg

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ù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容