Python又把GUI界面攻下了,今天就告訴你怎麼玩

python gui

0.引言

學Python這麼久了,一直想作個界面出來,最近發現Python有個內置庫tkinter,利用它能夠很輕鬆作出一些簡易的UI界面,首先來看Python官方對Tkinter的說明:python

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.app

從上面描述中咱們不難看出,無論你是 Mac OS 系統,仍是 Windows 系統,它均可以生成相對應的操做界面,這就是所謂的跨平臺。框架

1.調用關係說明

其原理就是咱們使用 Python代碼去調用 Tkinter, Tkinter 已經封裝了訪問TK的接口,這個接口是一個圖形庫,支持多跨平臺操做系統,進而經過它,咱們就能夠調用咱們系統自己的GUI接口了。函數

Tkinter

2.環境

操做系統:Windows / Linux / Mac OSoop

Python版本:3.6.6佈局

3.小試牛刀

有了概念並瞭解原理以後,接下來就小試牛刀一下~學習

import tkinter
# 定義一個窗體
top = tkinter.Tk()
# 將其加入主循環
top.mainloop()

Tkinter 運行一下,biu~,三行代碼就把一個窗口彈出來了,有沒有很神奇~ui

4.中試牛刀

接下來咱們要來點複雜的:操作系統

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()

在這裏:線程

  1. 咱們導入了 tkinter 的相關模塊
  2. 定義了初始化函數,經過 grid() 方法將咱們的組件傳給父容器
  3. 自定義一個建立組件的方法,咱們建立了一個標籤和一個按鈕,這個按鈕被點擊後就會觸發 answer這個方法
  4. 咱們經過 messagebox 來顯示一個提示框
  5. 實例化咱們的 APP,而後經過主線程來監聽咱們的界面操做

運行後以下:

Tkinter

5.總結

想要作出漂亮的UI界面,仍是須要深刻地學習下Tkinter這個模塊。上文中的咱們只用到了框架、按鈕、標籤、文本這四種控件,而在Tkinter中給咱們提供了15種控件供你們使用。

此外Tkinter控件佈局有三種方式:包裝pack()、網格grid()、位置place(),本文中選用了grid,你們也能夠逐一嘗試下有什麼區別,期待你們的大試牛刀~

關注公衆號「Python專欄」,後臺回覆關鍵字:zsxq03,獲取本文所有代碼

![Python專欄二維碼](https://img-blog.csdnimg.cn/20190228220401806.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTIzNjU4Mjg=,size_4,color_FFFFFF,t_70#pic_center =200x200)

相關文章
相關標籤/搜索