您好,登錄后才能下訂單哦!
這篇文章主要介紹了python的tkinter庫如何使用的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python的tkinter庫如何使用文章都會有所收獲,下面我們一起來看看吧。
tkinter庫是一個python自帶的用于圖形化頁面編程的庫。使用tkinter,開發(fā)者可以快速構(gòu)建一個簡單的圖形化窗口應用。作為一個GUI庫,tkinter的功能還算完備。而且它簡單靈活且穩(wěn)定,是新手學習和小型項目開發(fā)GUI的良好工具。
python安裝時附帶的IDLE就是使用tkinter實現(xiàn)的
python下的圖形化編程工具有pyqt,tkinter和wxpython三種他們的特點如下:
tkinter | pyqt | wxpython |
開源,免費,可以商用 | 部分情況(如果項目不是開源的)需要商業(yè)許可 | 開源,免費 |
易于理解掌握 | 了解pyqt的所有細節(jié)需要大量時間 | 細節(jié)比pyqt少但也很多 |
設(shè)計較舊 | 良好的ui和現(xiàn)代外觀 | 也擁有較好的ui和外觀 |
不附帶高級小部件 | 有很多高級小部件 | 也有很多高級小部件 |
沒有設(shè)計工具 | 有專門的qt design作為設(shè)計工具 | 有wxFormbuilder作為設(shè)計工具 |
無需額外安裝 | 需要安裝特定庫 | 需要安裝特定庫 |
庫很小,比較穩(wěn)定 | 庫比較大,比較復雜 | 庫比較大,但沒有pyqt那么大(且復雜) |
學習難度較低 | 有學習過qt的話學習pyqt會很快 | / |
可以看到,各個GUI框架都有各自的優(yōu)缺點,tkinter在簡單方面做到了極致,而pyqt則在細節(jié)方面做得更好。wxpython則作為它們倆的折中方案存在。然而作為初學者要進行GUI編程的快速上手,還是tkinter更加適合。
話不多說,直接上代碼(以下代碼列出了一些簡單的tkinter的組件的使用,代碼附有注釋):
from tkinter import *
from tkinter import messagebox
window = Tk() # 創(chuàng)建一個Windows窗口
window.title("First Window") # 給這個窗口的標題命名
window.geometry("350x200") # 設(shè)定窗口大小為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方法可以設(shè)定標簽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ù),可以讓窗口等待用戶與之交互直到我們關(guān)閉它
值得一提的是,tkinter的定位方式不止只有g(shù)rid(網(wǎng)格布局),也有place(絕對布局)與pack(相對布局),這一點讓小編想起了HTML與CSS,有前端開發(fā)經(jīng)驗的小伙伴理解起tkinter應該會更快。
關(guān)于“python的tkinter庫如何使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“python的tkinter庫如何使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。