<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用 Python 庫 PySimpleGUI 制作自動化辦公小軟件!

          共 3305字,需瀏覽 7分鐘

           ·

          2021-12-11 05:10

          Python 在運維和辦公自動化中扮演著重要的角色,PySimpleGUI 是一款很棒的自動化輔助模塊,讓你更輕松的實現(xiàn)日常任務的自動化。

          1 PySimpleGUI安裝

          在命令行/終端輸入pip install pysimplegui等待安裝完成后,進入python環(huán)境,輸入import PySimpleGUI回車無誤后,確認安裝成功2 PySimpleGUI制作簡易彈窗界面

          2.1 兩種界面設計模式

          (1) 單次顯示界面(one-shot window)

          • 類似于彈窗,出現(xiàn)一次

          • 常用于提示信息,收集信息

          (2)持續(xù)顯示界面(Persistent window)

          • 持續(xù)不斷顯示,除非用戶手動關閉

          • 常作為軟件的主界面

          2.2 制作彈窗

          官網(wǎng)默認的庫的縮寫為sg,使用時建議保持統(tǒng)一,也是使用sg

          彈窗類型:(第一種和第二種是一致的)

          • sg.popup('注意!')

          • sg.popup_ok('默認彈窗')

          • sg.popup_yes_no('帶Yes和No按鈕的彈窗')

          • sg.popup_cancel('帶cancel按鈕的彈窗')

          • sg.popup_ok_cancel('帶OK和cancel按鈕的彈窗')

          • sg.popup_error('帶紅色error按鈕的彈窗')

          • sg.popup_auto_close('幾秒后自動關閉的彈窗')

          最后一個執(zhí)行后程序會在2s左右自動退出,除了以上的簡單的默認函數(shù)外,還可以手動設置參數(shù),相關的參數(shù)如下

          比如設置一個定制化的小窗口,進行相關參數(shù)的添加

          sg.popup(  '這是彈窗',  title='Hello',  button_color=('#A81B0C', '#FFFFFF'),  background_color='#F47264',  line_width=2,  custom_text=' 好的 ')

          輸出結果:(第一個參數(shù)就是要顯示的信息,可以是單個,也可多個字符串,多個字符串時候,默認換行,如果是單個字符串可以通過line_with指定每行的寬度

          當?shù)谝粋€參數(shù)是多個字符串時,自動換行顯示(由于自動的窗體長寬很小,所以標題就沒有看到,但不是代表不顯示,下面的示例中就可以看到)
          2.3 文字內容彈窗

          采用popup_scrolled()方法,括號中添加要顯示的內容即可

          text = '''大家好,我們一起來學習PySimpleGUI制作簡單的圖形用戶界面。'''sg.popup_scrolled(text,title='Hello')

          輸出結果為:(這里的標題就正常的顯示出來了)

          這個文字內容彈窗里面也有相關的設置參數(shù),可以根據(jù)自己的需要進行設置,參數(shù)如下:(注意之前的彈窗的參數(shù)也可以在這類彈窗中使用,比如剛剛用的title)
          2.4 獲取用戶輸入的彈窗

          采用popup_get_text()方法,括號內容有點類似input()語句中的提示語,提醒用戶輸入

          text1 = sg.popup_get_text('請輸入文字1')print(text1)text2 = sg.popup_get_text('請輸入文字2')print(text2)

          輸出結果為:(當點擊Ok時候控制臺輸出端就會獲取到用戶輸入的文字,如果是點擊Cancel,輸出端為None,這里執(zhí)行了兩次用戶輸入彈出的指令,當?shù)谝淮屋斎牒簏c擊Ok會自動彈出第二個窗口)

          該類彈窗也有自己特定的參數(shù)供選擇,比如既然進行輸入的操作,有時輸入密碼時候就不希望別人看到,就可以采用輸入的顯示方式,如下

          測試進行密碼隱藏輸入,可以直接順勢將用戶輸入的密碼也以彈窗的形式

          2.5 文件選擇彈出窗口

          直接采用sg.popup_get_file()方法,括號里面的內容也是輸入的提示語

          選擇后就會把詳細的地址直接顯示在輸入框中,如下

          那么同樣該類彈出也有自己的特有屬性參數(shù)設置,具體如下。里面的每個參數(shù)幾乎都是超級常用的參數(shù),可以自行測試一下。

          默認后綴,這個參數(shù)也是常用的,比如在sublime中點擊另存為時候,本身是py文件,在給文件命名的時候只需要輸出文件名,后綴自動給添加上去了。
          2.6 文件夾選擇窗口

          采用sg.popup_get_folder()方法,括號里面的內容也是輸入的提示語。執(zhí)行程序后會彈出選擇文件的窗口,鼠標選擇后就會把文件夾的路徑添加到輸入

          2.7 進度條彈窗

          采用sg.one_line_progress_meter()方法,括號中輸入相關的參數(shù)設置內容

          for i in range(1000):  sg.one_line_progress_meter(    '進度條',    i + 1,    1000,    '該進度條key',    '這是一個進度條'  )

          輸出結果為:(會進行動態(tài)加載,直到達到100%)

          當然此類彈窗也有自己特有的參數(shù)設置,如下。比如常見的設置豎直的還橫向的,滾動條的上下限等。

          比如嘗試一下不同參數(shù)的組合輸出

          for i in range(1, 1000):  sg.one_line_progress_meter(    '進度條',    i + 1,    1000,    '該進度條key',    '這是一個進度條',    orientation='h',    bar_color=('#F47264', '#FFFFFF')  )

          輸出結果為:
          3 制作簡易壓縮軟件

          3.1 功能需求

          • 軟件運行后彈出窗口讓用戶選擇一個文件夾

          • 用戶選擇后再彈出窗口讓用戶選擇壓縮包保存的位置和名稱

          • 用戶輸入完成后將該文件夾內所有的文件進行壓縮打包

          • 完成壓縮后再彈出一個窗口告訴用戶這個壓縮包的體積大小

          3.2 功能拆解

          (1)軟件運行后彈出窗口讓用戶選擇一個文件夾

          • popup_get_folder()

          (2)用戶選擇后再彈出窗口讓用戶選擇壓縮包保存的位置和名稱

          • popup_get_file()

          • save_as=True

          • default_extension = 'zip'

          (3)用戶輸入完成后將該文件夾內所有的文件進行壓縮打包

          • zipfile模塊

          (4)完成壓縮后再彈出一個窗口告訴用戶這個壓縮包的體積大小

          • os.stat()讀取文件信息

          • popup()彈窗顯示數(shù)據(jù)

          3.3 全部代碼

          參考代碼:(主要是細節(jié)部分,對于壓縮路徑的設置,需要進行處理一下,不然最后解壓縮的會出現(xiàn)很多層級的不必要文件夾)

          import PySimpleGUI as sgimport zipfileimport os

          folder = sg.popup_get_folder('請選擇要壓縮的文件夾')zip_path = sg.popup_get_file( '請選擇要保存的壓縮包位置', save_as=True, default_extension='zip', file_types=(('壓縮包', '.zip'), ))
          with zipfile.ZipFile(zip_path, 'w') as zipobj: for file in os.scandir(folder): zipobj.write(file.path, file.path.replace(folder, '.'))
          zip_size = os.stat(zip_path).st_size // 1024sg.popup(f'壓縮包體積大小為:{zip_size} KB')

          輸出結果演示如下:(完美,撒花??ヽ(°▽°)ノ?



          用Python快速實現(xiàn)視頻的AI換臉


          值得收藏!10大技巧,帶你高效使用PyCharm


          60 個相見恨晚的神器工具


          長按或掃描下方二維碼,后臺回復:加群,可申請入群。一定要備注:入群+地點+學習/公司。例如:入群+上海+復旦。


          您的“點贊/在看/分享/互動”是就是最大支持!

          分享

          收藏

          點贊

          在看


          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产三级电影网站 | 人妻一卡二卡 | 国产在线观看国产精品产拍 | 青青草视频日韩视频在线 | 亚洲成人内射 |