摘要:引言學這么久了,一直想做個界面出來,最近發現有個內置庫,利用它可以很輕松做出一些簡易的界面,首先來看官方對的說明從上面描述中我們不難看出,不管你是系統,還是系統,它都可以生成相對應的操作界面,這就是所謂的跨平臺。
0.引言
學Python這么久了,一直想做個界面出來,最近發現Python有個內置庫tkinter,利用它可以很輕松做出一些簡易的UI界面,首先來看Python官方對Tkinter的說明:
The tkinter package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms, as well as on Windows systems.
從上面描述中我們不難看出,不管你是 Mac OS 系統,還是 Windows 系統,它都可以生成相對應的操作界面,這就是所謂的跨平臺。
1.調用關系說明其原理就是我們使用 Python代碼去調用 Tkinter, Tkinter 已經封裝了訪問TK的接口,這個接口是一個圖形庫,支持多跨平臺操作系統,進而通過它,我們就可以調用我們系統本身的GUI接口了。
2.環境操作系統:Windows / Linux / Mac OS
Python版本:3.6.6
3.小試牛刀有了概念并了解原理之后,接下來就小試牛刀一下~
import tkinter # 定義一個窗體 top = tkinter.Tk() # 將其加入主循環 top.mainloop()
運行一下,biu~,三行代碼就把一個窗口彈出來了,有沒有很神奇~
接下來我們要來點復雜的:
import tkinter as tk import tkinter.messagebox as mbox # 定義MainUI類表示應用/窗口,繼承Frame類 class MainUI(tk.Frame): # Application構造函數,master為窗口的父控件 def __init__(self, master = None): # 初始化Application的Frame部分 tk.Frame.__init__(self, master) # 顯示窗口,并使用grid布局 self.grid() # 創建控件 self.createWidgets() # 創建控件 def createWidgets(self): # 創建一個標簽,輸出要顯示的內容 self.firstLabel = tk.Label(self,text="「人人都是Pythonista」專注Python領域,做最專業的Python星球。") # 設定使用grid布局 self.firstLabel.grid() # 創建一個按鈕,用來觸發answer方法 self.clickButton = tk.Button(self,text="點一下瞧瞧?",command=self.answer) # 設定使用grid布局 self.clickButton.grid() def answer(self): # 我們通過 messagebox 來顯示一個提示框 mbox.showinfo("「人人都是Pythonista」",""" 這是一個專注Python的星球,我們提供「從零單排」、「實戰項目」、「大航海」、「技術沙龍」、「技術分享」、「大廠內推」等系列供你選擇及學習,當然也會有周邊技術沿伸。 本星球會不定期開展各類實戰項目,階段性組織線上技術沙龍、分享等;對于職業發展路線不明確的,我們會邀請到一些大廠hr及高級開發、經理等給大家解惑。 加入我們,和千人一起玩Python,To be a Pythonista! """) # 創建一個MainUI對象 app = MainUI() # 設置窗口標題 app.master.title("「人人都是Pythonista」") # 設置窗體大小 app.master.geometry("400x100") # 主循環開始 app.mainloop()
在這里:
我們導入了 tkinter 的相關模塊
定義了初始化函數,通過 grid() 方法將我們的組件傳給父容器
自定義一個創建組件的方法,我們創建了一個標簽和一個按鈕,這個按鈕被點擊后就會觸發 answer這個方法
我們通過 messagebox 來顯示一個提示框
實例化我們的 APP,然后通過主線程來監聽我們的界面操作
運行后如下:
5.總結想要做出漂亮的UI界面,還是需要深入地學習下Tkinter這個模塊。上文中的我們只用到了框架、按鈕、標簽、文本這四種控件,而在Tkinter中給我們提供了15種控件供大家使用。
此外Tkinter控件布局有三種方式:包裝pack()、網格grid()、位置place(),本文中選用了grid,大家也可以逐一嘗試下有什么區別,期待大家的大試牛刀~
關注公眾號「Python專欄」,后臺回復關鍵字:zsxq03,獲取本文全部代碼
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43378.html
摘要:在這個窗口之上,可以添加各種輸入框按鈕文本等,可以增加對各種動作的處理。事件要與特定的控件相綁定,比如按鈕有點擊事件,輸入框有按鍵事件,窗體有關閉事件等。 在大多數時候,我們都在黑黢黢的控制臺里執行 Python 腳本。這看起來很酷很 GEEK。但對于部分場景下的用戶來說,這樣就不大美觀和人性化了:我們需要交互更方便的圖形化產品,也就是 GUI (圖形用戶界面,Graphical Us...
摘要:上篇文章我許了一個愿,就是想讓大家多多關注我,然后我的粉絲就蹭蹭的漲了好幾百,謝謝大家的厚愛。可是我發現粉絲是漲了,三連變少了,謝謝大家這次給我三連,我一定再接再厲。地址的尋找陽光總值,種植一個豌豆需要,非常不夠用。 目錄 前言 游戲的安裝 思路 ? ? ? 一句話總結 ? ? ? 大概的思...
摘要:我自己印象最深的是在上安裝加密和科學計算模塊,折騰了很久。這個精裝是面向數據科學的,同時也保留了你自己進一步改裝的空間。數據科學庫包環境管理工具,這幾樣就是的主要功能。 幾乎所有的 Python 學習者都遇到過 安裝 方面的問題。這些安裝問題包括 Python 自身環境的安裝、第三方模塊的安裝、不同版本的切換,以及不同平臺、版本間的兼容問題 等。當你因為這些問題而卡殼,一行代碼沒寫就已...
閱讀 2430·2021-09-22 15:41
閱讀 1448·2021-08-19 10:54
閱讀 1755·2019-08-23 15:11
閱讀 3402·2019-08-23 10:23
閱讀 1428·2019-08-22 16:28
閱讀 799·2019-08-22 15:11
閱讀 739·2019-08-22 14:53
閱讀 710·2019-08-22 13:49