App下載

圖形化界面編程——python tkinter庫的使用

猿友 2021-06-28 12:04:01 瀏覽數(shù) (9202)
反饋

相信很多小伙伴已經(jīng)對面向控制臺編程已經(jīng)厭煩了。每次寫python代碼,只能看到一堆控制臺代碼,完全沒有想象中的程序員的感覺。所以接下來小編帶來的,就是有關GUI編程的內(nèi)容——如何使用python寫一個窗口應用程序。本篇文章采用的是tkinter庫,這是一個python自帶的GUI編程庫,雖然它很簡單,也不算好用,但它確很適合入門,接下來就讓小編來介紹一下這個庫吧。

什么是tkinter庫

tkinter庫是一個python自帶的用于圖形化頁面編程的庫。使用tkinter,開發(fā)者可以快速構(gòu)建一個簡單的圖形化窗口應用。作為一個GUI庫,tkinter的功能還算完備。而且它簡單靈活且穩(wěn)定,是新手學習和小型項目開發(fā)GUI的良好工具。

 python安裝時附帶的IDLE就是使用tkinter實現(xiàn)的

圖形化編程有哪些工具,各有什么優(yōu)缺點

python下的圖形化編程工具有pyqt,tkinter和wxpython三種他們的特點如下:

 tkinter pyqt   wxpython
 開源,免費,可以商用 部分情況(如果項目不是開源的)需要商業(yè)許可   開源,免費
 易于理解掌握  了解pyqt的所有細節(jié)需要大量時間  細節(jié)比pyqt少但也很多
 設計較舊  良好的ui和現(xiàn)代外觀 也擁有較好的ui和外觀
 不附帶高級小部件  有很多高級小部件 也有很多高級小部件 
 沒有設計工具  有專門的qt design作為設計工具  有wxFormbuilder作為設計工具
 無需額外安裝  需要安裝特定庫 需要安裝特定庫 
 庫很小,比較穩(wěn)定  庫比較大,比較復雜 庫比較大,但沒有pyqt那么大(且復雜) 
 學習難度較低  有學習過qt的話學習pyqt會很快

可以看到,各個GUI框架都有各自的優(yōu)缺點,tkinter在簡單方面做到了極致,而pyqt則在細節(jié)方面做得更好。wxpython則作為它們倆的折中方案存在。然而作為初學者要進行GUI編程的快速上手,還是tkinter更加適合。

tkinter快速上手

話不多說,直接上代碼(以下代碼列出了一些簡單的tkinter的組件的使用,代碼附有注釋):

from tkinter import *
from tkinter import messagebox

window = Tk() # 創(chuàng)建一個Windows窗口
window.title("First Window")  # 給這個窗口的標題命名
window.geometry("350x200")  # 設定窗口大小為350x220

lbl = Label(window, text="Hello") #定義一個標簽組件(標簽1),它的值為hello
lbl.grid(column=0, row=1) #使用grid,將標簽1定位到0,1的位置

txt = Entry(window, width=10) #定義一個文本輸入框,他的寬度為10
txt.grid(column=0, row=0) #使用grid,將輸入框定位到0,0的位置
def clicked():#當點擊按鈕的時候觸發(fā)該方法
    res = "Welcome to " + txt.get()#使用get方法可以獲取輸入組件的值
    lbl.configure(text=res) #使用configure方法可以設定標簽1的text值(也就是他要展現(xiàn)的值)
    messagebox.showinfo("編程學習哪家強", "那必須得是W3Cschool!")


btn = Button(window, text="點我?。?!", command=clicked) #定義一個按鈕組件,他的值為點我?。?!,同時定義點擊觸發(fā)命令為clicked
#當點擊按鈕時,觸發(fā)clicked方法
btn.grid(column=1, row=0)#使用grid,將按鈕定位到1,0的位置

window.mainloop() # 使用mainloop函數(shù),可以讓窗口等待用戶與之交互直到我們關閉它

值得一提的是,tkinter的定位方式不止只有g(shù)rid(網(wǎng)格布局),也有place(絕對布局)與pack(相對布局),這一點讓小編想起了HTML與CSS,有前端開發(fā)經(jīng)驗的小伙伴理解起tkinter應該會更快。

 注:文章篇幅所限,關于tkinter的內(nèi)容不能介紹過多,更多介紹可以前往pythonGUI編程進行學習。

小結(jié)

以上就是關于python GUI頁面實例的一個介紹了。更系統(tǒng)的學習可以前往python進階課程進行學習。


0 人點贊