[Python]-GUI(圖形使用者介面)

更新 發佈閱讀 7 分鐘

前言:

今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。

一般python的執行就是開一個console,然後輸入:

python sample.py

那這有什麼問題呢@@? 答案是沒有,程式基本就是動的好、沒有bug、穩穩的就是好程式。那時候覺得生產線的UI不夠直覺,也不方便使用。每每都要動到UI的code才能完成一些測試的需求,另外也當作練習做了下面這個UI:

raw-image

回到正題,如果你在google搜尋'python UI'會找到很多工具套件如:kivy、tkinter、pyQT什麼的一堆!,甚至會看到有的跟你說python不適合拿來做GUI什麼什麼的,其實應該這麼說python的強項不是在做GUI,但能不能? 當然是可以!

總之寫GUI的方式百百種,今天要講的是用python內建的tkinter,因為它是python本身內建的不是使用其他第三方的套件,所以在其他平台相依性上會比較好,但比較不方便的是它沒有支援拖曳編輯的介面,也就是說如果一切都要自己一行一行key程式碼,然後把UI畫面建構出來的話這樣太累了。所以下面介紹個好東西!!在開始前需要先安裝兩個工具。


TCL:

官方下載網址:

raw-image




這個TCL用無腦安裝法就可以了,如果不曉得無腦安裝法的可以參考這裡,其實就是一直點下一步下一步。


PAGE:

官方下載網址:

raw-image




這邊我記得安裝完某個版本的時候,點兩下執行桌面上的PAG捷徑,會執行不起來(不知道後來官方有沒有修掉這個問題)。這時候到PAGE安裝的目錄(預設的安裝目錄是C:\page)打開裡面會有個 'page.bat'的檔案。把內容裡面的python3改成python存檔,然後再執行一次應該就可以了。

raw-image

這邊稍微解釋一下原因,因為當初在安裝python的時候預設安裝完的python是python(在講啥?),可以拉到上面前言看一下一般執行py的方式。會發生這情況應該是官方想要區分在同一個環境裡的python2跟python3。但一般我們不會裝了2又裝了3(也是有可能),所以這邊我們修改bat檔的內容把3拿掉就可以。


編輯面板簡介:

執行成功就會在桌面看到一些散在各地的視窗

raw-image

大概解釋一下這五個視窗的功用:

  • 編號(1): 主視窗開檔存檔跟產生UI python code的地方。
  • 編號(2): tkinter的一些UI元件,點選想要放置的元件,然後再點到視窗(5)。就可 以看到元件出現在視窗(5)上面。
  • 編號(3): 顯示的是元件的相依圖。
  • 編號(4): 當你點選到視窗(5)上面的元件的時候,就可以在這個是窗看到一些可以調整的屬性,包含元件的長寬或是位置等等的資訊。
  • 編號(5): 就是最後你想呈現給使用著的畫面,理論上所見及所得。

小範例:

這邊弄個小小的範例,順便簡單解釋一下大概怎麼使用。

《首先拉個按鍵(Button)到主畫面上》

raw-image

《然後到Gen_Python的選單》

raw-image
raw-image



“Generate Python GUI”這個選項的主要作用是根據你UI的布局(layout),來產生對應的GUI位置。基本上如果你畫面的layout如果有重新調整過那麼就得重新再“Generate Python GUI”一次。如圖所示按下左下角的“Save”就可以儲存檔案。


raw-image




“Generate Support Module”這選項的主要作用在於產生元件的程式碼,後面會示範給各位瞧瞧。 原則上如果有新增元件到畫面上就得再執行一次“Generate Support Module”這邊一樣案左下角的“Save”就能儲存檔案。



《添加Button動作》

在做完上述兩步驟之後,到存檔的資料夾執行:

python sampleGUI.py
raw-image

可以發現Button可以按,但沒有甚麼反應

這時候我們再回到編輯UI的畫面選取Button元件,然後可以看到下圖右邊綠色框框的位置有個叫 'command' 的欄位。這個欄位的作用就是在產生Button按下去時候對應的function名稱。

raw-image

這邊以輸入 'testButtonFunc' 為例。然後再回到“Generate Python GUI”和“Generate Support Module”,這時候會出現對話框問你是要置換,使用現存的檔案、更新。可以選擇使用現存檔案或是更新。

raw-image

我們沒有動UI為什麼還要跑一次“Generate Python GUI”呢?這是因為你添加了command屬性,所以記得兩個都要重新產生一次唷!

這時候呢~打開 '你的檔名_support.py' ,這邊我存檔的名稱是sampleGUI_support.py。然後你可以看到裡面多了一個function叫做 'testSampleFunc' 如下圖所示:

raw-image

這時候你想要Button按下去要做甚麼對應的動作就可以寫在這裡面,所以我可以把文章一開始的sample.py加到這裡面就可以呼叫了,是不是還不錯友善哩~下圖黃色的字就是你按下Button的時候印出來的。

raw-image
raw-image

以上就是今天介紹python做UI的一個工具。感謝閱讀!





留言
avatar-img
姆姆雞抖的沙龍
10會員
4內容數
姆姆雞抖的沙龍的其他內容
2024/01/31
在一般情況我們可以使用 Windows 的 UI 介面來變更網路卡的名稱、IP 等等。但在要使用到 python 或其他程式控制時就不太合用了,所以這邊介紹使用 command 的方式來變更 Windows 中的網卡設定: 打開 Command Prompt(管理員權限): 按下Win,輸入
Thumbnail
2024/01/31
在一般情況我們可以使用 Windows 的 UI 介面來變更網路卡的名稱、IP 等等。但在要使用到 python 或其他程式控制時就不太合用了,所以這邊介紹使用 command 的方式來變更 Windows 中的網卡設定: 打開 Command Prompt(管理員權限): 按下Win,輸入
Thumbnail
2022/06/05
前言: 在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付pyc檔。但在現今火箭都上外太空了,如果對方有心想要破解的話其實網路想也有很多教導反組譯的方式。 使用說明
Thumbnail
2022/06/05
前言: 在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付pyc檔。但在現今火箭都上外太空了,如果對方有心想要破解的話其實網路想也有很多教導反組譯的方式。 使用說明
Thumbnail
2022/05/09
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
2022/05/09
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
  最近開始真正學習Python這門語言,這邊就將我所學的筆記記錄在這邊,我起初用這們語言時覺得很雜很混亂都在胡亂使用,聽說python很多東西沒有筆記就會很雜很混亂腦容量要非常非常大,但我自知腦袋記憶體不足,所以現在有了比較完整的概念我就邊學邊筆記,有需要的也可以一起學習哦!我學習到哪就分享到哪裡
Thumbnail
  最近開始真正學習Python這門語言,這邊就將我所學的筆記記錄在這邊,我起初用這們語言時覺得很雜很混亂都在胡亂使用,聽說python很多東西沒有筆記就會很雜很混亂腦容量要非常非常大,但我自知腦袋記憶體不足,所以現在有了比較完整的概念我就邊學邊筆記,有需要的也可以一起學習哦!我學習到哪就分享到哪裡
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
前言: 在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付pyc檔。但在現今火箭都上外太空了,如果對方有心想要破解的話其實網路想也有很多教導反組譯的方式。 使用說明
Thumbnail
前言: 在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付pyc檔。但在現今火箭都上外太空了,如果對方有心想要破解的話其實網路想也有很多教導反組譯的方式。 使用說明
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
tkinter 所有元件: 基本視窗: 1.BitmapImage: 2.Button: 3.Canvas: 4.Checkbutton: 5.Entry: 6.Frame: 7.Label: 8.LabelFrame: 9.Listbox: 10.Menu: 11.Menubutton:
Thumbnail
tkinter 所有元件: 基本視窗: 1.BitmapImage: 2.Button: 3.Canvas: 4.Checkbutton: 5.Entry: 6.Frame: 7.Label: 8.LabelFrame: 9.Listbox: 10.Menu: 11.Menubutton:
Thumbnail
之前的文章中介紹過了Turtle Graphics,它是架構於tkinter模組之上以實現基本圖形介面的繪圖模組,這篇文章就來說明tkinter模組常用元件(widget)的基本用法,以及如何用它來設計出一個具有圖形使用者介面(Graphical User Interface, GUI)的程式。
Thumbnail
之前的文章中介紹過了Turtle Graphics,它是架構於tkinter模組之上以實現基本圖形介面的繪圖模組,這篇文章就來說明tkinter模組常用元件(widget)的基本用法,以及如何用它來設計出一個具有圖形使用者介面(Graphical User Interface, GUI)的程式。
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
Thumbnail
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
Thumbnail
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News