Python+Tkinter制作專屬圖形化界面
介紹
本期案例是帶著大家制作一個屬于自己的GUI圖形化界面—>用于設計簽名的哦(效果如下圖),是不是感覺很好玩,是不是很想學習呢?限于篇幅,今天我們首先詳細講述一下Tkinter的使用方法。本來不準備詳細講述這個基礎知識,但是我怕那些想學習的同學,學起來不過癮,還是補充了這一章。

tkinter的簡單應用
Tkinter是Python的標準GUI庫。Python使用Tkinter可以快速地創(chuàng)建GUI應用程序。當然常用的GUI庫還有PyQt5,我們只需要知道這兩個常用的即可,如果你真的想學習的話。由于Tkinter屬于Python標準庫,就不需要使用pip安裝,直接導入使用即可。
顯示窗口
root.mainloop()顯示窗口;
窗口默認會顯示在電腦屏幕的左上角,非常小(后面需要改進);
from tkinter import * from tkinter import messagebox # 創(chuàng)建窗口:實例化一個窗口對象。 root = Tk() # 顯示窗口 root.mainloop() """ 注意到:該窗口默認的顯示位置在哪里,觀察我下面的截圖。 窗口默認顯示在整個電腦屏幕的左上角,并且窗口大小特別小。 """
結果如下:

注意:上面2行代碼,首先實例化一個窗口對象,然后我們展示了這個窗口,讓其真正顯示出來。接下來我們的操作,就是針對這個窗口的一系列優(yōu)化操作,請注意:這個優(yōu)化操作使用的代碼,都是放在這2句代碼中間。
設置窗口大小
root.geometry("600x400")調整窗口的大小;
該方法中傳入的是"寬x高",但是需要注意這個乘號是小寫的英文字母x,而不是這個*表示的乘號;
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450")
# 顯示窗口
root.mainloop()結果如下:

調整窗口位置(使用的是同一個方法)
root.geometry("600x400+374+182")調整窗口的大小+位置;
374,182表示的是窗口頂點,距離電腦左上角的坐標。這個數(shù)字怎么得到的呢?直接借助微信截圖就可以顯示了。

操作代碼如下:
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 顯示窗口
root.mainloop()結果如下:

設置窗口的標題
root.title()設置窗口的標題;
默認的窗口標題是tk;
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口標題
root.title("我的個性簽名設計")
# 顯示窗口
root.mainloop()結果如下:

添加標簽控件,并定位
Label(root,text="簽名")添加標簽控件
第一個參數(shù)傳入的就是實例化的那個root窗口對象;第二個參數(shù)傳入的要顯示的那個標簽文本;
僅僅添加標簽控件后,還不行,必須要指定一個位置后,該標簽控件才會真正展示出來,即最后需要調用grid()方法后,才會顯示標簽控件;
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口標題
root.title("我的個性簽名設計")
# 添加標簽控件
label = Label(root)
# 定位
label.grid()
# 顯示窗口
root.mainloop()結果如下:

當然你也可以想到,這個方法肯定還可以修改字體樣式、字體大小、字體顏色呀?具體怎么操作呢?我們接著往下面看。
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口標題
root.title("我的個性簽名設計")
# 添加標簽控件
label = Label(root,text="簽名",font=("宋體",25),fg="red")
"""
text參數(shù)用于指定顯示的文本;
font參數(shù)用于指定字體大小和字體樣式;
fg參數(shù)用于指定字體顏色;
"""
# 定位
label.grid()
# 顯示窗口
root.mainloop()結果如下:

添加輸入框,并定位
Entry(root,font=("宋體",25),fg="red")添加輸入框
第一個參數(shù)傳入的就是實例化的那個root窗口對象;第二個參數(shù)可寫可不寫,指的是我們輸入的字體的字體樣式和字體大??;第三個參數(shù)同樣可寫可不寫,表示的是我們輸入的字體的顏色。
同樣,僅僅使用上述代碼并不會顯示輸入框,只有調用grid()方法,定位后,才會真正顯示這個輸入框;
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口標題
root.title("我的個性簽名設計")
# 添加標簽控件
label = Label(root,text="簽名",font=("宋體",25),fg="red")
# 定位
label.grid()
# 添加輸入框
entry = Entry(root,font=("宋體",25),fg="red")
entry.grid()
# 顯示窗口
root.mainloop()結果如下:

注意:很明顯這樣的擺放方式,并不是我們想要的。我們需要調整一下,下面我們專門花一個小節(jié)時間,去講述怎么調整這個擺放位置。
調整控件的擺放位置
首先我們需要搞明白,顯示窗口究竟采用的是什么樣子的布局方式呢?其實是網(wǎng)格式的布局方式。那么什么又是網(wǎng)格式的布局方式呢?excel表格你知道吧,一個個的格子就是網(wǎng)格式的布局方式。

好了!知道了上述原理后,我們現(xiàn)在來真正的調整這個控件擺放位置啦。
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口標題
root.title("我的個性簽名設計")
# 添加標簽控件
label = Label(root,text="簽名:",font=("宋體",25),fg="red")
# 定位
label.grid()
"""
label.grid()等價于label.grid(row=0,column=0)
"""
# 添加輸入框
entry = Entry(root,font=("宋體",25),fg="red")
entry.grid(row=0,column=1)
"""
row=0,column=1表示我們將輸入框控件,放在第1行第2列的位置;
python語言中,這個下標是從0開始的。
"""
# 顯示窗口
root.mainloop()結果如下:

添加點擊按鈕
Button(root,text="簽名設計",font=("宋體",25),fg="red")添加輸入框
第一個參數(shù)傳入的就是實例化的那個root窗口對象;第二個參數(shù)展示的是我們這個點擊按鈕的標簽;第三個參數(shù)可寫可不寫,指的是點擊按鈕字體的字體樣式和字體大??;第四個參數(shù)同樣可寫可不寫,表示的是點擊按鈕字體的顏色。
同樣,僅僅使用上述代碼并不會顯示輸入框,只有調用grid()方法,定位后,才會真正顯示這個點擊按鈕;
from tkinter import *
from tkinter import messagebox
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口標題
root.title("我的個性簽名設計")
# 添加標簽控件
label = Label(root,text="簽名:",font=("宋體",25),fg="red")
# 定位
label.grid()
# 添加輸入框
entry = Entry(root,font=("宋體",25),fg="red")
entry.grid(row=0,column=1)
# 添加點擊按鈕
button = Button(root,text="簽名設計",font=("宋體",25),fg="blue")
button.grid(row=1,column=1)
# 顯示窗口
root.mainloop()結果如下:

至此界面已經(jīng)簡單搭建起來了,接下來要做的就是輸入一個名字,點擊簽名設計后,會顯示我的這個簽名,此時就需要借助爬蟲啦!明天我們將會發(fā)布該文的下篇哦,敬請期待。
點擊按鈕自定義功能
這里最后補充這個知識點,我們點擊按鈕后,總是希望能夠給我們返回點什么,所以呢,需要我們自定義函數(shù)。
from tkinter import *
from tkinter import messagebox
def func():
print("我是黃同學")
# 創(chuàng)建窗口:實例化一個窗口對象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口標題
root.title("我的個性簽名設計")
# 添加標簽控件
label = Label(root,text="簽名:",font=("宋體",25),fg="red")
# 定位
label.grid()
# 添加輸入框
entry = Entry(root,font=("宋體",25),fg="red")
entry.grid(row=0,column=1)
# 添加點擊按鈕
button = Button(root,text="簽名設計",font=("宋體",25),fg="blue",command=func)
button.grid(row=1,column=1)
"""
command=func表示調用最開始定義的func函數(shù)。
func函數(shù)一定要在這句代碼之前,因為這里需要調用這個func函數(shù)。
"""
# 顯示窗口
root.mainloop()結果如下:

以上就是Python+Tkinter制作專屬圖形化界面的詳細內容,更多關于Python Tkinter圖形化界面的資料請關注腳本之家其它相關文章!
相關文章
PyQt6/PySide6 的 QPropertyAnimation 類適用場景分析
QGraphicsView和QGraphicsScene是Qt圖形視圖框架的核心類,用于構建高性能、可交互的2D圖形界面,QGraphicsView 和 QGraphicsScene 為復雜圖形應用提供了強大支持,本文給大家介紹PyQt6/PySide6 的 QPropertyAnimation 類,感興趣的朋友一起看看吧2025-03-03
解析Python 偏函數(shù)用法全方位實現(xiàn)
這篇文章主要介紹了解析Python 偏函數(shù)用法全方位實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-06-06
Django的restframework接口框架自定義返回數(shù)據(jù)格式的示例詳解
這篇文章主要介紹了Django的restframework接口框架自定義返回數(shù)據(jù)格式,本文介紹了通過Django的restframework接口框架自定義Response返回對象來自定義返回數(shù)據(jù)格式,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07

