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

更新於 發佈於 閱讀時間約 6 分鐘

前言:

今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。
一般python的執行就是開一個console,然後輸入:
python sample.py
那這有什麼問題呢@@? 答案是沒有,程式基本就是動的好、沒有bug、穩穩的就是好程式。那時候覺得生產線的UI不夠直覺,也不方便使用。每每都要動到UI的code才能完成一些測試的需求,另外也當作練習做了下面這個UI:
寫了老半天,結果沒有實際用在產線上的UI
回到正題,如果你在google搜尋'python UI'會找到很多工具套件如:kivy、tkinter、pyQT什麼的一堆!,甚至會看到有的跟你說python不適合拿來做GUI什麼什麼的,其實應該這麼說python的強項不是在做GUI,但能不能? 當然是可以!
總之寫GUI的方式百百種,今天要講的是用python內建的tkinter,因為它是python本身內建的不是使用其他第三方的套件,所以在其他平台相依性上會比較好,但比較不方便的是它沒有支援拖曳編輯的介面,也就是說如果一切都要自己一行一行key程式碼,然後把UI畫面建構出來的話這樣太累了。所以下面介紹個好東西!!在開始前需要先安裝兩個工具。

TCL:

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

PAGE:

官方下載網址:
這邊我記得安裝完某個版本的時候,點兩下執行桌面上的PAG捷徑,會執行不起來(不知道後來官方有沒有修掉這個問題)。這時候到PAGE安裝的目錄(預設的安裝目錄是C:\page)打開裡面會有個 'page.bat'的檔案。把內容裡面的python3改成python存檔,然後再執行一次應該就可以了。
改完記得存檔
這邊稍微解釋一下原因,因為當初在安裝python的時候預設安裝完的python是python(在講啥?),可以拉到上面前言看一下一般執行py的方式。會發生這情況應該是官方想要區分在同一個環境裡的python2跟python3。但一般我們不會裝了2又裝了3(也是有可能),所以這邊我們修改bat檔的內容把3拿掉就可以。

編輯面板簡介:

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

小範例:

這邊弄個小小的範例,順便簡單解釋一下大概怎麼使用。
《首先拉個按鍵(Button)到主畫面上》
Button 放在中間
《然後到Gen_Python的選單》
產生python程式碼
Generate Python GUI
“Generate Python GUI”這個選項的主要作用是根據你UI的布局(layout),來產生對應的GUI位置。基本上如果你畫面的layout如果有重新調整過那麼就得重新再“Generate Python GUI”一次。如圖所示按下左下角的“Save”就可以儲存檔案。
Generate Support Module
“Generate Support Module”這選項的主要作用在於產生元件的程式碼,後面會示範給各位瞧瞧。 原則上如果有新增元件到畫面上就得再執行一次“Generate Support Module”這邊一樣案左下角的“Save”就能儲存檔案。
《添加Button動作》
在做完上述兩步驟之後,到存檔的資料夾執行:
python sampleGUI.py
Button可以按
可以發現Button可以按,但沒有甚麼反應
這時候我們再回到編輯UI的畫面選取Button元件,然後可以看到下圖右邊綠色框框的位置有個叫 'command' 的欄位。這個欄位的作用就是在產生Button按下去時候對應的function名稱。
在綠框輸入Button動作對應的function名稱
這邊以輸入 'testButtonFunc' 為例。然後再回到“Generate Python GUI”和“Generate Support Module”,這時候會出現對話框問你是要置換,使用現存的檔案、更新。可以選擇使用現存檔案或是更新。
我們沒有動UI為什麼還要跑一次“Generate Python GUI”呢?這是因為你添加了command屬性,所以記得兩個都要重新產生一次唷!
這時候呢~打開 '你的檔名_support.py' ,這邊我存檔的名稱是sampleGUI_support.py。然後你可以看到裡面多了一個function叫做 'testSampleFunc' 如下圖所示:
多了 testButtonFunc()
這時候你想要Button按下去要做甚麼對應的動作就可以寫在這裡面,所以我可以把文章一開始的sample.py加到這裡面就可以呼叫了,是不是還不錯友善哩~下圖黃色的字就是你按下Button的時候印出來的。
只印出Button裡的print()內容
印出Button以及sample.py的內容
以上就是今天介紹python做UI的一個工具。感謝閱讀!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
姆姆雞抖的沙龍 的其他內容
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端