<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 圖形界面庫

          共 1972字,需瀏覽 4分鐘

           ·

          2020-12-18 17:58

          前一陣,我在為朋友編寫一個源代碼監(jiān)控程序的時候,發(fā)現(xiàn)了一個 Python 領(lǐng)域非常簡單好用的圖形界面庫。

          說起圖形界面庫,你可能會想到 TkInter、PyQt、PyGUI 等流行的圖形界面庫,我也曾經(jīng)嘗試使用,一個很直觀的感受就是,這太難用了。就去網(wǎng)上搜搜,看看有沒有一些 demo,拿來改改,結(jié)果很少有,當(dāng)時我就放棄了這些圖形庫的學(xué)習(xí),轉(zhuǎn)而使用了 vue+flask 的形式以瀏覽器網(wǎng)頁作為程序界面,因為我會這個,即使實現(xiàn)起來稍微麻煩,但是也快。

          那有朋友可能問了:一定要學(xué)習(xí)圖形界面嗎?

          其實不一定,如果你寫的程序都是自己用,或者配合其他程序員使用,那么直接命令行調(diào)用即可,完全不用學(xué)習(xí)圖形界面?那什么時候要學(xué)呢?如果你要做游戲,或者你要為他人(非技術(shù)人員)編寫軟件工具,那么你就需要學(xué)習(xí)圖形界面了。我是后者,偶爾受邀幫別人寫點小工具,因此有個圖形界面體驗會好很多。

          今天要說的這個庫就是 PySimpleGUI,在 GitHub 倉庫[1]有 5.1K 個 star,20 天前還有人提交代碼,可以說非常火熱了。

          我看了官方文檔,找了個 demo,花了 2 個小時的時間,寫了 56 行代碼,就搞定了一個具有圖形界面的監(jiān)控工具,如下:

          要說 PysimpleGUI 最吸引我的地方,在于它有 200 多個示例程序,幾乎覆蓋了日常的開發(fā)需求,拿來稍作修改就可以用,著實方便。

          PysimpleGUI 內(nèi)部封裝了 tkinter,Qt(pyside2),wxPython和 Remi,Remi 用于瀏覽器支持,因此你很容易將你的界面搬到瀏覽器中而無需修改代碼。如下圖:

          還有最吸引我的一點,就是足夠簡單,在幾分鐘內(nèi)用幾行代碼就可以構(gòu)建自定義 GUI 布局,對于初學(xué)者來說足夠容易,對于高級用戶來說足夠強(qiáng)大。廣泛的文檔。有 100 多種內(nèi)置顏色主題,200 多個示例程序[2],還經(jīng)常更新。如果你玩 Raspberry Pi,也可以用這個庫寫界面,你說好用不好用。

          通常一個 PySimpleGUI 程序包含 5 個部分,見下面代碼的注釋:

          import?PySimpleGUI?as?sg????????????????????????#?Part?1?-?導(dǎo)入庫

          #?定義窗口的內(nèi)容
          layout?=?[??[sg.Text("What's?your?name?")],?????#?Part?2?-?排版
          ????????????[sg.Input()],
          ????????????[sg.Button('Ok')]?]

          #?創(chuàng)建窗口
          window?=?sg.Window('Window?Title',?layout)??????#?Part?3?-?窗口定義
          ????????????????????????????????????????????????
          #?Display?and?interact?with?the?Window
          event,?values?=?window.read()???????????????????#?Part?4?-?開啟主循環(huán)?window.read()

          #?Do?something?with?the?information?gathered
          print('Hello',?values[0],?"!?Thanks?for?trying?PySimpleGUI")

          #?Finish?up?by?removing?from?the?screen
          window.close()??#?Part?5?-?關(guān)閉窗口

          執(zhí)行上述代碼,會得到一個如下圖所示的程序:

          這僅僅是一個類似 hello world 的程序,PySimpleGUI 還可以做出更加強(qiáng)大的圖形界面和游戲界面,比如:

          最后,再告訴大家一條小技巧,如果看到好的圖形界面程序,包括網(wǎng)站,記得收藏相關(guān)的代碼,下次可以直接拿來用,提升開發(fā)效率。本文涉及的開源軟件監(jiān)控工具源代碼,如果感興趣,可以點擊「閱讀原文」獲取下載連接。

          最后,學(xué)習(xí)一個新技術(shù)要看重其遷移能力,學(xué)習(xí)一次,可以使用無數(shù)次,那么該技術(shù)就值得學(xué)。原創(chuàng)不易,如果覺得文章對你有幫助,還請關(guān)注、在看支持。

          參考資料

          [1]

          GitHub 倉庫: https://github.com/PySimpleGUI/PySimpleGUI

          [2]

          200 多個示例程序: https://github.com/PySimpleGUI/PySimpleGUI/tree/master/DemoPrograms


          瀏覽 144
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  操女人的小骚逼被操舒服视频 | 欧美乱伦激情 | 日本黄色视频免费网站 | 成人无码区免费A∨视频FBI豆花 | 久久无码精品一区二区三区 |