爲你的 Python 程序穿上漂亮的衣服

大家好,我是徵哥,今天分享如何用最簡單的方式,爲你的 Python 程序穿上漂亮的衣服,行話是用 Python 構建漂亮的 GUI,GUI 就是 graphical user interface 的簡稱。

爲什麼要圖形界面呢?

程序員寫的軟件,最好給不懂技術的人使用,才更有價值,我們平時寫的 Python 程序,都是在一個叫作終端的黑窗口裏運行的,自己用當然沒問題,給別人用,尤其是不懂技術的人,大都不怎麼會操作那個黑窗口,因此,很有必要爲我們的程序穿上漂亮的衣服-圖形界面。

程序有了有圖形界面,頓時顯得高大上,可以對別人說我寫了個小軟件了。從程序到軟件的過程看似只加了個圖形界面,實際上這一過程並不簡單,你需要學習各種的圖形界面庫,控件,事件,多線程等複雜的知識,還要學習如何設計,讓界面更美觀漂亮。

那麼有沒有簡單一點的方法呢?

如果沒有,就不會有今天的文章了。

總的來說,分三步:

第一步:設計界面。

你在 Figma 網站上通過拖拉拽的方式設計好圖形界面,不想自己設計也行,有別人設計好的,你可以直接使用,有些免費,有些付費。

第二步:自動生成界面對應的代碼。

設計好後,複製對應的網址,然後用 Python 程序 Tkinter Designer 自動生成你設計好的界面的 Tkinter 代碼(標準庫 Tkinter 是最受歡迎的圖形界面庫之一)。

第三步:修改代碼,添加業務邏輯。

圖形界面的代碼生成好了,接下來就是爲一些按鈕,輸入框添加業務邏輯代碼即可。

好了,現在你可能有些疑問,啥是 Figma,Tkinter Designer 又是什麼工具,現在我來一一解答。

什麼是 Figma?

Figma 是一個基於瀏覽器的協作式 UI 設計工具,Figma 從推出至今越來越受到 UI 設計師的青睞,如今也有很多的設計團隊投入了Figma 的懷抱。

簡單來說,設計師(美工)設計好原型,交給程序員去開發,程序員根據窗口大小、位置、顏色、按鈕等在一行一行編寫代碼(感覺好累)。

Figma 難麼?

我覺得比在線 PhotoShop 要簡單,因爲弄幾個輸入框,文本和按鈕就可以設計一個能用的界面,都是拖拉拽,簡單。如果要專業而美觀的設計,那就需要系統的學習了。不想學習也行,拿別人設計好的自己改改就行了。

Tkinter Designer 又是什麼工具?

Tkinter Designer 就是將 Figma 設計的界面自動轉換成代碼的開源工具。最近更新日期是 6 天前,目前 GitHub 上有 1800+ 星,是個很熱門的項目,我在使用的過程中遇到了點小問題,提交了 ISSUE,作者不到一分鐘就回復了,非常積極和熱情。

如何使用 Tkinter Designer?

接下來是保姆級別的教程。

下載

安裝 TkInter Designer 是一個相當簡單的過程,您所要做的就是克隆 Github 存儲庫:

git clone https://github.com/ParthJadhav/Tkinter-Designer

將目錄更改爲該文件夾:

cd Tkinter-Designer
安裝依賴
pip3 install -r requirements.txt
執行
python3 tkinter_designer.py

執行上述腳本後,你將看到一個漂亮的 GUI 界面:

註冊 Figma,並設計一個界面

1、註冊並登錄。

打開 https://www.figma.com,點擊 Sign up 進行註冊。

你可以使用 Google 賬戶直接登錄。

2、獲取 Token。

Token 就是 訪問 Figma API 的憑證,你只有一次機會看到它,看到時就複製並保存下來。

點擊右上角賬戶名稱那裏,再點擊 setting:

找到 Personal access tokens,在下方的輸入框裏面填寫 Personal access tokens 的標識符,可以隨意填寫:

寫完直接按回車就可以看到一個類似這樣的 token,把它複製保存起來

196344-282fd2ea-***********-aad25a0f8cfe

3、設計一個界面:

登錄後,您要單擊右上角的 New 並創建一個新的設計文件:

只需要 3 秒就可以設計一個自己需要的界面:

設計的細節這裏不再贅述,可以參考 Figma 的官方文檔,這裏直接給一個我弄好的作爲 demo:

該設計的鏈接:

https://www.figma.com/file/xNPw6pdKst9ONDn43crtVn/v1-Fixed-Community?node-id=1%3A416

直接打開這個鏈接就可以看到 UI 界面,可以修改後保存爲自己的界面。這裏說下如何獲取界面的鏈接,點擊 Share -> copy link,如下圖

基本流程就是選擇一個 Frame,在上面拖拉一些圖片,文本,矩形框,配置顏色,矩形框可以設計成文本輸入框,也可以做成按鈕,非常靈活。

需要注意的是,元素的命名是有要求的,如果是文本輸入框,命名必須是 TextBox,如果是按鈕,必須是 Button,除 Text 類型外,其他元素的名稱必須爲以下 5 種:

生成代碼
python3 tkinter_designer.py

執行上述腳本後,你將看到一個漂亮的 GUI 界面:

這裏我們輸入前面獲取到的 Token ID, File URL, 選擇代碼的保存路徑,點擊 Generate:

然後查看生成的目錄:

代碼和圖片已經生成好了,執行:

python window.py

會看到我們設計好的界面已經出來了,文本框可以輸入文本,按鈕的點擊函數也做好了:

接下來就是修改 window.py 文件,來實現自己的業務邏輯了。

最後的話

本文分享了一中簡單的設計軟件界面的方法,藉助於 Tkinter Designer 工具將 Figma 的設計文件直接轉換成代碼,非常省時省力,提升效率,準備 GUI 編程的朋友們可以嘗試一下。

如有問題,請留言討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章