本篇文章給大家談談python編寫圖形化界面的工具,以及python如何做出圖形界面,希望對各位有所幫助,不要忘了收藏本站喔。
大家好,小編來為大家解答以下問題,python如何做出圖形界面,用python做圖形用戶界面,今天讓我們一起來看看吧!
python圖形化界面
一.定義理解
Python自帶了tkinter 模塊,實質上是一種流行的面向對象的GUI工具包 TK 的Python編程接口,提供了快速便利地創(chuàng)建GUI應用程序的方法。其圖像化編程的基本步驟通常包括:
~導入 tkinter 模塊
創(chuàng)建 GUI 根窗體
添加人機交互控件并編寫相應的函數(shù)自學python應該怎么學python自學好學嘛。
在主事件循環(huán)中等待用戶觸發(fā)事件響應。
二.tkinter中的組件
1.常用的組件
控件 | 名稱 | 作用 |
---|---|---|
Button | 按鈕 | 單擊觸發(fā)事件 |
Canvas | 畫布 | 繪制圖形或繪制特殊控件 |
Checkbutton | 復選框 | 多項選擇 |
Entry | 輸入框 | 接收單行文本輸入 |
Frame | 框架 | 用于控件分組 |
Label | 標簽 | 單行文本顯示 |
Listbox | 列表框 | 顯示文本列表 |
Menu | 菜單 | 創(chuàng)建菜單命令 |
Message | 消息 | 多行文本標簽,與Label用法類似 |
Radiobutton | 單選按鈕 | 從互斥的多個選項中做單項選擇 |
Scale | 滑塊 | 默認垂直方向,鼠標拖動改變數(shù)值形成可視化交互 |
Scrollbar | 滑動條 | 默認垂直方向,鼠標拖動改變數(shù)值,可與Text,Listbox,Canvas等控件配合移動可視化空間 |
Text | 文本框 | 接收或輸出多行文本 |
Toplevel | 新建窗體容器 | 在頂層創(chuàng)建新窗體 |
常用組件的舉例:
(1.)設置窗口,標題,大小和位置
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.mainloop()
輸出:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XKFhPz0W-1654168959309)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602174222188.png)]
(2.)Label控件
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.geometry("400x400+200+50")
'''
Labels標簽控件,可以顯示文本
win:父窗口
text:顯示的文本內容
bg:背景顏色
fg:字體顏色
font:字體
wraplength:指定text文本中多寬后換行
justify:設置換行后的對齊方式
anchor:位置 n北,s,w,e,center居中:還可以寫在一起:ne東北方向
'''
label = tkinter.Label(win,
text="this is a world!",
bg='pink',fg='red',
font=('黑體',20),
width=20,
height=10,
wraplength=100,
justify='left',
anchor='ne'
)
#顯示出來
label.pack()
# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gFyhp3x7-1654168959311)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602174058643.png)]
(3.)Button控件
import tkinter
def func():
print("小王是憨憨")# 創(chuàng)建主窗口
win = tkinter.Tk()# 設置標題
win.title("小王最帥")#設置大寫和位置
win.geometry("400x400+200+50")# 創(chuàng)建按鈕
button1=tkinter.Button(win,text='按鈕',command=func,width=10,height=10,anchor='ne')
button1.pack()
button2=tkinter.Button(win,text='按鈕',command=lambda:print("放假放假"))
button2.pack()
button3=tkinter.Button(win,text='退出',command=win.quit)
button3.pack()# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
小王是憨憨
放假放假
解釋:點擊不同的按鈕,輸出不同的結果。
(4.)Entry控件
import tkinter
def func():
print("小王是憨憨")
win = tkinter.Tk()# 創(chuàng)建主窗口
win.title("小王最帥")# 設置標題
win.geometry("400x400+200+50")#設置大寫和位置
'''
Entry:輸入控件,用于顯示簡單的文本內容
'''
entry1=tkinter.Entry(win,show='*') # show=‘*’可以表示輸入的密碼#,密文顯示
entry1.pack()
e=tkinter.Variable()# 綁定變量
entry2=tkinter.Entry(win,textvariable=e) # show=‘*’可以表示輸入的密碼
entry2.pack()
e.set("放假放假")#e代表輸入框這個對象,設置值
# 取值
print(e.get())
print(entry2.get())# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-G9yK8oNA-1654168959312)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602175456315.png)]
(5.)點擊按鈕輸出輸入框中的內容
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.geometry("400x400+200+50")
def showinfo():
# 獲取輸入的內容
print(entry.get())
entry=tkinter.Entry(win)
entry.pack()
button=tkinter.Button(win,text="按鈕",command=showinfo)
button.pack()
# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-V325B1AM-1654168959313)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602175807751.png)]
123456
解釋:點擊按鈕將框中的數(shù)據(jù)輸出。
(6.)Text控件
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.geometry("400x400+200+50")
'''
文本控件:用于顯示多行文本
'''
# height表示的是顯示的行數(shù)
text = tkinter.Text(win, width=30, height=10)
text.pack()
str = '''長恨歌
白居易 〔唐代〕
漢皇重色思傾國,御宇多年求不得。
楊家有女初長成,養(yǎng)在深閨人未識。
天生麗質難自棄,一朝選在君王側。
回眸一笑百媚生,六宮粉黛無顏色。
春寒賜浴華清池,溫泉水滑洗凝脂。
侍兒扶起嬌無力,始是新承恩澤時。
云鬢花顏金步搖,芙蓉帳暖度春宵。
春宵苦短日高起,從此君王不早朝。
承歡侍宴無閑暇,春從春游夜專夜。
后宮佳麗三千人,三千寵愛在一身。
金屋妝成嬌侍夜,玉樓宴罷醉和春。
姊妹弟兄皆列土,可憐光彩生門戶。
遂令天下父母心,不重生男重生女。
驪宮高處入青云,仙樂風飄處處聞。
緩歌慢舞凝絲竹,盡日君王看不足。
漁陽鼙鼓動地來,驚破霓裳羽衣曲。
九重城闕煙塵生,千乘萬騎西南行。
翠華搖搖行復止,西出都門百余里。
六軍不發(fā)無奈何,宛轉蛾眉馬前死。
花鈿委地無人收,翠翹金雀玉搔頭。
君王掩面救不得,回看血淚相和流。
黃埃散漫風蕭索,云??M紆登劍閣。
峨嵋山下少人行,旌旗無光日色薄。
蜀江水碧蜀山青,圣主朝朝暮暮情。
行宮見月傷心色,夜雨聞鈴腸斷聲。
天旋地轉回龍馭,到此躊躇不能去。(地轉 一作:日轉)
馬嵬坡下泥土中,不見玉顏空死處。
君臣相顧盡沾衣,東望都門信馬歸。
歸來池苑皆依舊,太液芙蓉未央柳。
芙蓉如面柳如眉,對此如何不淚垂?
春風桃李花開日,秋雨梧桐葉落時。(花開日 一作:花開夜)
西宮南內多秋草,落葉滿階紅不掃。(南內 一作:南苑)
梨園弟子白發(fā)新,椒房阿監(jiān)青娥老。
夕殿螢飛思悄然,孤燈挑盡未成眠。
遲遲鐘鼓初長夜,耿耿星河欲曙天。
鴛鴦瓦冷霜華重,翡翠衾寒誰與共?
悠悠生死別經(jīng)年,魂魄不曾來入夢。
臨邛道士鴻都客,能以精誠致魂魄。
為感君王輾轉思,遂教方士殷勤覓。
排空馭氣奔如電,升天入地求之遍。
上窮碧落下黃泉,兩處茫茫皆不見。
忽聞海上有仙山,山在虛無縹緲間。
樓閣玲瓏五云起,其中綽約多仙子。
中有一人字太真,雪膚花貌參差是。
金闕西廂叩玉扃,轉教小玉報雙成。
聞道漢家天子使,九華帳里夢魂驚。
攬衣推枕起徘徊,珠箔銀屏迤邐開。
云鬢半偏新睡覺,花冠不整下堂來。
風吹仙袂飄飖舉,猶似霓裳羽衣舞。(飄飖 一作:飄飄)
玉容寂寞淚闌干,梨花一枝春帶雨。(闌 通:欄)
含情凝睇謝君王,一別音容兩渺茫。
昭陽殿里恩愛絕,蓬萊宮中日月長。
回頭下望人寰處,不見長安見塵霧。
惟將舊物表深情,鈿合金釵寄將去。
釵留一股合一扇,釵擘黃金合分鈿。
但令心似金鈿堅,天上人間會相見。(但令 一作:但教)
臨別殷勤重寄詞,詞中有誓兩心知。
七月七日長生殿,夜半無人私語時。
在天愿作比翼鳥,在地愿為連理枝。
天長地久有時盡,此恨綿綿無絕期。'''
text.insert(tkinter.INSERT, str)
# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xfhy053J-1654168959314)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602180502981.png)]
(7.)帶滾動條的Text
import tkinter
win = tkinter.Tk()
win.title("小王最帥")
win.geometry("400x400+200+50")
'''
文本控件:用于顯示多行文本
'''
# 創(chuàng)建滾動條
scroll = tkinter.Scrollbar()
text = tkinter.Text(win, width=30, height=10)
# side放到窗體的哪一側, fill填充
scroll.pack(side=tkinter.RIGHT, fill=tkinter.Y)
text.pack(side=tkinter.LEFT, fill=tkinter.Y)
# 關聯(lián)
scroll.config(command=text.yview)
text.config(yscrollcommand=scroll.set)
text.pack()
str = '''長恨歌
白居易 〔唐代〕
漢皇重色思傾國,御宇多年求不得。
楊家有女初長成,養(yǎng)在深閨人未識。
天生麗質難自棄,一朝選在君王側。
回眸一笑百媚生,六宮粉黛無顏色。
春寒賜浴華清池,溫泉水滑洗凝脂。
侍兒扶起嬌無力,始是新承恩澤時。
云鬢花顏金步搖,芙蓉帳暖度春宵。
春宵苦短日高起,從此君王不早朝。
承歡侍宴無閑暇,春從春游夜專夜。
后宮佳麗三千人,三千寵愛在一身。
金屋妝成嬌侍夜,玉樓宴罷醉和春。
姊妹弟兄皆列土,可憐光彩生門戶。
遂令天下父母心,不重生男重生女。
驪宮高處入青云,仙樂風飄處處聞。
緩歌慢舞凝絲竹,盡日君王看不足。
漁陽鼙鼓動地來,驚破霓裳羽衣曲。
九重城闕煙塵生,千乘萬騎西南行。
翠華搖搖行復止,西出都門百余里。
六軍不發(fā)無奈何,宛轉蛾眉馬前死。
花鈿委地無人收,翠翹金雀玉搔頭。
君王掩面救不得,回看血淚相和流。
黃埃散漫風蕭索,云??M紆登劍閣。
峨嵋山下少人行,旌旗無光日色薄。
蜀江水碧蜀山青,圣主朝朝暮暮情。
行宮見月傷心色,夜雨聞鈴腸斷聲。
天旋地轉回龍馭,到此躊躇不能去。(地轉 一作:日轉)
馬嵬坡下泥土中,不見玉顏空死處。
君臣相顧盡沾衣,東望都門信馬歸。
歸來池苑皆依舊,太液芙蓉未央柳。
芙蓉如面柳如眉,對此如何不淚垂?
春風桃李花開日,秋雨梧桐葉落時。(花開日 一作:花開夜)
西宮南內多秋草,落葉滿階紅不掃。(南內 一作:南苑)
梨園弟子白發(fā)新,椒房阿監(jiān)青娥老。
夕殿螢飛思悄然,孤燈挑盡未成眠。
遲遲鐘鼓初長夜,耿耿星河欲曙天。
鴛鴦瓦冷霜華重,翡翠衾寒誰與共?
悠悠生死別經(jīng)年,魂魄不曾來入夢。
臨邛道士鴻都客,能以精誠致魂魄。
為感君王輾轉思,遂教方士殷勤覓。
排空馭氣奔如電,升天入地求之遍。
上窮碧落下黃泉,兩處茫茫皆不見。
忽聞海上有仙山,山在虛無縹緲間。
樓閣玲瓏五云起,其中綽約多仙子。
中有一人字太真,雪膚花貌參差是。
金闕西廂叩玉扃,轉教小玉報雙成。
聞道漢家天子使,九華帳里夢魂驚。
攬衣推枕起徘徊,珠箔銀屏迤邐開。
云鬢半偏新睡覺,花冠不整下堂來。
風吹仙袂飄飖舉,猶似霓裳羽衣舞。(飄飖 一作:飄飄)
玉容寂寞淚闌干,梨花一枝春帶雨。(闌 通:欄)
含情凝睇謝君王,一別音容兩渺茫。
昭陽殿里恩愛絕,蓬萊宮中日月長。
回頭下望人寰處,不見長安見塵霧。
惟將舊物表深情,鈿合金釵寄將去。
釵留一股合一扇,釵擘黃金合分鈿。
但令心似金鈿堅,天上人間會相見。(但令 一作:但教)
臨別殷勤重寄詞,詞中有誓兩心知。
七月七日長生殿,夜半無人私語時。
在天愿作比翼鳥,在地愿為連理枝。
天長地久有時盡,此恨綿綿無絕期。'''
text.insert(tkinter.INSERT, str)
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0eZNbhE7-1654168959315)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602180934648.png)]
解釋:跟上面的區(qū)別是增加滾動條。
2.組件的屬性
屬性 | 說明 | 取值 |
---|---|---|
anchor | 文本起始位置 | CENTER(默認),E,S,W,N,NE,SE,SW,NW |
bg | 背景色 | 無 |
bd | 加粗(默認2像素) | 無 |
bitmap | 黑白二值圖標 | 網(wǎng)上查找 |
cursor | 鼠標懸停光標 | 網(wǎng)上查找 |
font | 字體 | 無 |
fg | 字體顏色 | 無 |
height | 高(文本控件的單位為行) | 無 |
image | 顯示圖像 | 無 |
justify | 多行文本的對齊方式 | CENTER(默認),LEFT,RIGHT,TOP,BOTTOM |
padx | 水平擴展像素 | 無 |
pady | 垂直擴展像素 | 無 |
relief | 3D浮雕樣式 | FLAT,RAISED,SUNKEN,GROOVE,RIDGE |
state | 控件實例狀態(tài)是否可用 | NORMAL(默認),DISABLED |
width | 寬(文本控件的單位為行) | 無 |
三.按鈕
1.單選按鈕
定義:字面意思只能選一個。
示例:文章來源地址http://www.zghlxwxcb.cn/news/detail-830245.html
from tkinter import *
def Mysel():
dic = {0:'甲',1:'乙',2:'丙'}
s = "您選了" + dic.get(var.get()) + "項"
lb.config(text = s)
root = Tk()
root.title('單選按鈕')
lb = Label(root)
lb.pack()
var = IntVar()
rd1 = Radiobutton(root,text="甲",variable=var,value=0,command=Mysel)
rd1.pack()
rd2 = Radiobutton(root,text="乙",variable=var,value=1,command=Mysel)
rd2.pack()
rd3 = Radiobutton(root,text="丙",variable=var,value=2,command=Mysel)
rd3.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kcTMG3eR-1654168959315)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602181717894.png)]
2.多選按鈕
跟多選的選擇題一樣
示例:
from tkinter import *
import tkinter
def run():
if(CheckVar1.get()==0 and CheckVar2.get()==0 and CheckVar3.get()==0 and CheckVar4.get()==0):
s = '您還沒選擇任何愛好項目'
else:
s1 = "哈密瓜" if CheckVar1.get()==1 else ""
s2 = "葡萄" if CheckVar2.get() == 1 else ""
s3 = "羊肉串" if CheckVar3.get() == 1 else ""
s4 = "卡瓦斯" if CheckVar4.get() == 1 else ""
s = "您選擇了%s %s %s %s" % (s1,s2,s3,s4)
lb2.config(text=s)
root = tkinter.Tk()
root.title('復選框')
lb1=Label(root,text='請選擇您的愛好項目')
lb1.pack()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
CheckVar3 = IntVar()
CheckVar4 = IntVar()
ch1 = Checkbutton(root,text='哈密瓜',variable = CheckVar1,onvalue=1,offvalue=0)
ch2 = Checkbutton(root,text='葡萄',variable = CheckVar2,onvalue=1,offvalue=0)
ch3 = Checkbutton(root,text='羊肉串',variable = CheckVar3,onvalue=1,offvalue=0)
ch4 = Checkbutton(root,text='卡瓦斯',variable = CheckVar4,onvalue=1,offvalue=0)
ch1.pack()
ch2.pack()
ch3.pack()
ch4.pack()
btn = Button(root,text="OK",command=run)
btn.pack()
lb2 = Label(root,text='')
lb2.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SNB4x1W6-1654168959316)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602182113370.png)]
四.模仿驗證滑塊界面
滑塊控件實例的主要方法比較簡單,有 get()
和set
(值),分別為取值和將滑塊設在某特定值上?;瑝K實例也可綁定鼠標左鍵釋放事件<ButtoonRelease-1>
,并在執(zhí)行函數(shù)中添加參數(shù)event來實現(xiàn)事件響應。
例如:在一個窗體上設計一個200
像素寬的水平滑塊,取值范圍為1.0~5.0
,分辨精度為0.05
,刻度間隔為 1
,用鼠標拖動滑塊后釋放鼠標可讀取滑塊值并顯示在標簽上。效果如下:
示例:
from tkinter import *
def show(event):
s = '滑塊的滑動距離' + str(var.get())
lb.config(text=s)
root = Tk()
root.title('滑塊')
root.geometry('320x180')
var=DoubleVar()
scl = Scale(root,orient=HORIZONTAL,length=200,from_=1.0,to=5.0,label='請拖動滑塊',tickinterval=1,resolution=0.05,variable=var)
scl.bind('<ButtonRelease-1>',show)
scl.pack()
lb = Label(root,text='')
lb.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1gSGPCFb-1654168959316)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602182552437.png)]
五.菜單界面
示例:
from tkinter import *
def new():
s = '新建'
lb1.config(text=s)
def ope():
s = '打開'
lb1.config(text=s)
def sav():
s = '保存'
lb1.config(text=s)
def cut():
s = '剪切'
lb1.config(text=s)
def cop():
s = '復制'
lb1.config(text=s)
def pas():
s = '粘貼'
lb1.config(text=s)
def popupmenu(event):
mainmenu.post(event.x_root,event.y_root)
root = Tk()
root.title('菜單實驗')
root.geometry('320x240')
lb1 = Label(root,text='顯示信息',font=('黑體',32,'bold'))
lb1.place(relx=0.2,rely=0.2)
mainmenu = Menu(root)
menuFile = Menu(mainmenu) # 菜單分組 menuFile
mainmenu.add_cascade(label="文件",menu=menuFile)
menuFile.add_command(label="新建",command=new)
menuFile.add_command(label="打開",command=ope)
menuFile.add_command(label="保存",command=sav)
menuFile.add_separator() # 分割線
menuFile.add_command(label="退出",command=root.destroy)
menuEdit = Menu(mainmenu) # 菜單分組 menuEdit
mainmenu.add_cascade(label="編輯",menu=menuEdit)
menuEdit.add_command(label="剪切",command=cut)
menuEdit.add_command(label="復制",command=cop())
menuEdit.add_command(label="粘貼",command=pas())
root.config(menu=mainmenu)
root.bind('Button-3',popupmenu) # 根窗體綁定鼠標右擊響應事件
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cUwjJO0b-1654168959317)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602183021820.png)]
固定格式:
菜單實例名=Menu(根窗體)
菜單分組1=Menu(菜單實例名)
菜單實例名.add_cascade(<label=菜單分組1 顯示文本>,<menu=菜單分組1>)
菜單分組1.add_command(<label=命令1文本>,<command=命令1函數(shù)名>)
六.對話框的選擇與交互
1.交互對話框
示例:
rom tkinter import *
import tkinter.messagebox
def xz():
answer=tkinter.messagebox.askokcancel('請選擇','請選擇確定或取消')
if answer:
lb.config(text='已確認')
else:
lb.config(text='已取消')
root = Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出對話框',command=xz)
btn.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MCGd67zW-1654168959318)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602184033255.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TI8jwffq-1654168959318)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602184057053.png)]
2.選擇對話框
示例:
from tkinter import *
import tkinter.filedialog
def xz():
filename=tkinter.filedialog.askopenfilename()
if filename != '':
lb.config(text='您選擇的文件是'+filename)
else:
lb.config(text='您沒有選擇任何文件')
root = Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出文件選擇對話框',command=xz)
btn.pack()
root.mainloop()
= Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出對話框',command=xz)
btn.pack()
root.mainloop()
輸出:
[外鏈圖片轉存中…(img-MCGd67zW-1654168959318)]
[外鏈圖片轉存中…(img-TI8jwffq-1654168959318)]文章來源:http://www.zghlxwxcb.cn/news/detail-830245.html
2.選擇對話框
示例:
from tkinter import *
import tkinter.filedialog
def xz():
filename=tkinter.filedialog.askopenfilename()
if filename != '':
lb.config(text='您選擇的文件是'+filename)
else:
lb.config(text='您沒有選擇任何文件')
root = Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出文件選擇對話框',command=xz)
btn.pack()
root.mainloop()
大家好,小編來為大家解答以下問題,python如何做出圖形界面,用python做圖形用戶界面,今天讓我們一起來看看吧!
python圖形化界面
一.定義理解
Python自帶了tkinter 模塊,實質上是一種流行的面向對象的GUI工具包 TK 的Python編程接口,提供了快速便利地創(chuàng)建GUI應用程序的方法。其圖像化編程的基本步驟通常包括:
~導入 tkinter 模塊
創(chuàng)建 GUI 根窗體
添加人機交互控件并編寫相應的函數(shù)自學python應該怎么學python自學好學嘛。
在主事件循環(huán)中等待用戶觸發(fā)事件響應。
二.tkinter中的組件
1.常用的組件
控件 | 名稱 | 作用 |
---|---|---|
Button | 按鈕 | 單擊觸發(fā)事件 |
Canvas | 畫布 | 繪制圖形或繪制特殊控件 |
Checkbutton | 復選框 | 多項選擇 |
Entry | 輸入框 | 接收單行文本輸入 |
Frame | 框架 | 用于控件分組 |
Label | 標簽 | 單行文本顯示 |
Listbox | 列表框 | 顯示文本列表 |
Menu | 菜單 | 創(chuàng)建菜單命令 |
Message | 消息 | 多行文本標簽,與Label用法類似 |
Radiobutton | 單選按鈕 | 從互斥的多個選項中做單項選擇 |
Scale | 滑塊 | 默認垂直方向,鼠標拖動改變數(shù)值形成可視化交互 |
Scrollbar | 滑動條 | 默認垂直方向,鼠標拖動改變數(shù)值,可與Text,Listbox,Canvas等控件配合移動可視化空間 |
Text | 文本框 | 接收或輸出多行文本 |
Toplevel | 新建窗體容器 | 在頂層創(chuàng)建新窗體 |
常用組件的舉例:
(1.)設置窗口,標題,大小和位置
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.mainloop()
輸出:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XKFhPz0W-1654168959309)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602174222188.png)]
(2.)Label控件
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.geometry("400x400+200+50")
'''
Labels標簽控件,可以顯示文本
win:父窗口
text:顯示的文本內容
bg:背景顏色
fg:字體顏色
font:字體
wraplength:指定text文本中多寬后換行
justify:設置換行后的對齊方式
anchor:位置 n北,s,w,e,center居中:還可以寫在一起:ne東北方向
'''
label = tkinter.Label(win,
text="this is a world!",
bg='pink',fg='red',
font=('黑體',20),
width=20,
height=10,
wraplength=100,
justify='left',
anchor='ne'
)
#顯示出來
label.pack()
# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gFyhp3x7-1654168959311)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602174058643.png)]
(3.)Button控件
import tkinter
def func():
print("小王是憨憨")# 創(chuàng)建主窗口
win = tkinter.Tk()# 設置標題
win.title("小王最帥")#設置大寫和位置
win.geometry("400x400+200+50")# 創(chuàng)建按鈕
button1=tkinter.Button(win,text='按鈕',command=func,width=10,height=10,anchor='ne')
button1.pack()
button2=tkinter.Button(win,text='按鈕',command=lambda:print("放假放假"))
button2.pack()
button3=tkinter.Button(win,text='退出',command=win.quit)
button3.pack()# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
小王是憨憨
放假放假
解釋:點擊不同的按鈕,輸出不同的結果。
(4.)Entry控件
import tkinter
def func():
print("小王是憨憨")
win = tkinter.Tk()# 創(chuàng)建主窗口
win.title("小王最帥")# 設置標題
win.geometry("400x400+200+50")#設置大寫和位置
'''
Entry:輸入控件,用于顯示簡單的文本內容
'''
entry1=tkinter.Entry(win,show='*') # show=‘*’可以表示輸入的密碼#,密文顯示
entry1.pack()
e=tkinter.Variable()# 綁定變量
entry2=tkinter.Entry(win,textvariable=e) # show=‘*’可以表示輸入的密碼
entry2.pack()
e.set("放假放假")#e代表輸入框這個對象,設置值
# 取值
print(e.get())
print(entry2.get())# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-G9yK8oNA-1654168959312)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602175456315.png)]
(5.)點擊按鈕輸出輸入框中的內容
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.geometry("400x400+200+50")
def showinfo():
# 獲取輸入的內容
print(entry.get())
entry=tkinter.Entry(win)
entry.pack()
button=tkinter.Button(win,text="按鈕",command=showinfo)
button.pack()
# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-V325B1AM-1654168959313)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602175807751.png)]
123456
解釋:點擊按鈕將框中的數(shù)據(jù)輸出。
(6.)Text控件
import tkinter
# 創(chuàng)建主窗口
win = tkinter.Tk()
# 設置標題
win.title("小王最帥")
#設置大寫和位置
win.geometry("400x400+200+50")
'''
文本控件:用于顯示多行文本
'''
# height表示的是顯示的行數(shù)
text = tkinter.Text(win, width=30, height=10)
text.pack()
str = '''長恨歌
白居易 〔唐代〕
漢皇重色思傾國,御宇多年求不得。
楊家有女初長成,養(yǎng)在深閨人未識。
天生麗質難自棄,一朝選在君王側。
回眸一笑百媚生,六宮粉黛無顏色。
春寒賜浴華清池,溫泉水滑洗凝脂。
侍兒扶起嬌無力,始是新承恩澤時。
云鬢花顏金步搖,芙蓉帳暖度春宵。
春宵苦短日高起,從此君王不早朝。
承歡侍宴無閑暇,春從春游夜專夜。
后宮佳麗三千人,三千寵愛在一身。
金屋妝成嬌侍夜,玉樓宴罷醉和春。
姊妹弟兄皆列土,可憐光彩生門戶。
遂令天下父母心,不重生男重生女。
驪宮高處入青云,仙樂風飄處處聞。
緩歌慢舞凝絲竹,盡日君王看不足。
漁陽鼙鼓動地來,驚破霓裳羽衣曲。
九重城闕煙塵生,千乘萬騎西南行。
翠華搖搖行復止,西出都門百余里。
六軍不發(fā)無奈何,宛轉蛾眉馬前死。
花鈿委地無人收,翠翹金雀玉搔頭。
君王掩面救不得,回看血淚相和流。
黃埃散漫風蕭索,云??M紆登劍閣。
峨嵋山下少人行,旌旗無光日色薄。
蜀江水碧蜀山青,圣主朝朝暮暮情。
行宮見月傷心色,夜雨聞鈴腸斷聲。
天旋地轉回龍馭,到此躊躇不能去。(地轉 一作:日轉)
馬嵬坡下泥土中,不見玉顏空死處。
君臣相顧盡沾衣,東望都門信馬歸。
歸來池苑皆依舊,太液芙蓉未央柳。
芙蓉如面柳如眉,對此如何不淚垂?
春風桃李花開日,秋雨梧桐葉落時。(花開日 一作:花開夜)
西宮南內多秋草,落葉滿階紅不掃。(南內 一作:南苑)
梨園弟子白發(fā)新,椒房阿監(jiān)青娥老。
夕殿螢飛思悄然,孤燈挑盡未成眠。
遲遲鐘鼓初長夜,耿耿星河欲曙天。
鴛鴦瓦冷霜華重,翡翠衾寒誰與共?
悠悠生死別經(jīng)年,魂魄不曾來入夢。
臨邛道士鴻都客,能以精誠致魂魄。
為感君王輾轉思,遂教方士殷勤覓。
排空馭氣奔如電,升天入地求之遍。
上窮碧落下黃泉,兩處茫茫皆不見。
忽聞海上有仙山,山在虛無縹緲間。
樓閣玲瓏五云起,其中綽約多仙子。
中有一人字太真,雪膚花貌參差是。
金闕西廂叩玉扃,轉教小玉報雙成。
聞道漢家天子使,九華帳里夢魂驚。
攬衣推枕起徘徊,珠箔銀屏迤邐開。
云鬢半偏新睡覺,花冠不整下堂來。
風吹仙袂飄飖舉,猶似霓裳羽衣舞。(飄飖 一作:飄飄)
玉容寂寞淚闌干,梨花一枝春帶雨。(闌 通:欄)
含情凝睇謝君王,一別音容兩渺茫。
昭陽殿里恩愛絕,蓬萊宮中日月長。
回頭下望人寰處,不見長安見塵霧。
惟將舊物表深情,鈿合金釵寄將去。
釵留一股合一扇,釵擘黃金合分鈿。
但令心似金鈿堅,天上人間會相見。(但令 一作:但教)
臨別殷勤重寄詞,詞中有誓兩心知。
七月七日長生殿,夜半無人私語時。
在天愿作比翼鳥,在地愿為連理枝。
天長地久有時盡,此恨綿綿無絕期。'''
text.insert(tkinter.INSERT, str)
# 進入消息循環(huán),可以寫控件
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xfhy053J-1654168959314)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602180502981.png)]
(7.)帶滾動條的Text
import tkinter
win = tkinter.Tk()
win.title("小王最帥")
win.geometry("400x400+200+50")
'''
文本控件:用于顯示多行文本
'''
# 創(chuàng)建滾動條
scroll = tkinter.Scrollbar()
text = tkinter.Text(win, width=30, height=10)
# side放到窗體的哪一側, fill填充
scroll.pack(side=tkinter.RIGHT, fill=tkinter.Y)
text.pack(side=tkinter.LEFT, fill=tkinter.Y)
# 關聯(lián)
scroll.config(command=text.yview)
text.config(yscrollcommand=scroll.set)
text.pack()
str = '''長恨歌
白居易 〔唐代〕
漢皇重色思傾國,御宇多年求不得。
楊家有女初長成,養(yǎng)在深閨人未識。
天生麗質難自棄,一朝選在君王側。
回眸一笑百媚生,六宮粉黛無顏色。
春寒賜浴華清池,溫泉水滑洗凝脂。
侍兒扶起嬌無力,始是新承恩澤時。
云鬢花顏金步搖,芙蓉帳暖度春宵。
春宵苦短日高起,從此君王不早朝。
承歡侍宴無閑暇,春從春游夜專夜。
后宮佳麗三千人,三千寵愛在一身。
金屋妝成嬌侍夜,玉樓宴罷醉和春。
姊妹弟兄皆列土,可憐光彩生門戶。
遂令天下父母心,不重生男重生女。
驪宮高處入青云,仙樂風飄處處聞。
緩歌慢舞凝絲竹,盡日君王看不足。
漁陽鼙鼓動地來,驚破霓裳羽衣曲。
九重城闕煙塵生,千乘萬騎西南行。
翠華搖搖行復止,西出都門百余里。
六軍不發(fā)無奈何,宛轉蛾眉馬前死。
花鈿委地無人收,翠翹金雀玉搔頭。
君王掩面救不得,回看血淚相和流。
黃埃散漫風蕭索,云??M紆登劍閣。
峨嵋山下少人行,旌旗無光日色薄。
蜀江水碧蜀山青,圣主朝朝暮暮情。
行宮見月傷心色,夜雨聞鈴腸斷聲。
天旋地轉回龍馭,到此躊躇不能去。(地轉 一作:日轉)
馬嵬坡下泥土中,不見玉顏空死處。
君臣相顧盡沾衣,東望都門信馬歸。
歸來池苑皆依舊,太液芙蓉未央柳。
芙蓉如面柳如眉,對此如何不淚垂?
春風桃李花開日,秋雨梧桐葉落時。(花開日 一作:花開夜)
西宮南內多秋草,落葉滿階紅不掃。(南內 一作:南苑)
梨園弟子白發(fā)新,椒房阿監(jiān)青娥老。
夕殿螢飛思悄然,孤燈挑盡未成眠。
遲遲鐘鼓初長夜,耿耿星河欲曙天。
鴛鴦瓦冷霜華重,翡翠衾寒誰與共?
悠悠生死別經(jīng)年,魂魄不曾來入夢。
臨邛道士鴻都客,能以精誠致魂魄。
為感君王輾轉思,遂教方士殷勤覓。
排空馭氣奔如電,升天入地求之遍。
上窮碧落下黃泉,兩處茫茫皆不見。
忽聞海上有仙山,山在虛無縹緲間。
樓閣玲瓏五云起,其中綽約多仙子。
中有一人字太真,雪膚花貌參差是。
金闕西廂叩玉扃,轉教小玉報雙成。
聞道漢家天子使,九華帳里夢魂驚。
攬衣推枕起徘徊,珠箔銀屏迤邐開。
云鬢半偏新睡覺,花冠不整下堂來。
風吹仙袂飄飖舉,猶似霓裳羽衣舞。(飄飖 一作:飄飄)
玉容寂寞淚闌干,梨花一枝春帶雨。(闌 通:欄)
含情凝睇謝君王,一別音容兩渺茫。
昭陽殿里恩愛絕,蓬萊宮中日月長。
回頭下望人寰處,不見長安見塵霧。
惟將舊物表深情,鈿合金釵寄將去。
釵留一股合一扇,釵擘黃金合分鈿。
但令心似金鈿堅,天上人間會相見。(但令 一作:但教)
臨別殷勤重寄詞,詞中有誓兩心知。
七月七日長生殿,夜半無人私語時。
在天愿作比翼鳥,在地愿為連理枝。
天長地久有時盡,此恨綿綿無絕期。'''
text.insert(tkinter.INSERT, str)
win.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0eZNbhE7-1654168959315)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602180934648.png)]
解釋:跟上面的區(qū)別是增加滾動條。
2.組件的屬性
屬性 | 說明 | 取值 |
---|---|---|
anchor | 文本起始位置 | CENTER(默認),E,S,W,N,NE,SE,SW,NW |
bg | 背景色 | 無 |
bd | 加粗(默認2像素) | 無 |
bitmap | 黑白二值圖標 | 網(wǎng)上查找 |
cursor | 鼠標懸停光標 | 網(wǎng)上查找 |
font | 字體 | 無 |
fg | 字體顏色 | 無 |
height | 高(文本控件的單位為行) | 無 |
image | 顯示圖像 | 無 |
justify | 多行文本的對齊方式 | CENTER(默認),LEFT,RIGHT,TOP,BOTTOM |
padx | 水平擴展像素 | 無 |
pady | 垂直擴展像素 | 無 |
relief | 3D浮雕樣式 | FLAT,RAISED,SUNKEN,GROOVE,RIDGE |
state | 控件實例狀態(tài)是否可用 | NORMAL(默認),DISABLED |
width | 寬(文本控件的單位為行) | 無 |
三.按鈕
1.單選按鈕
定義:字面意思只能選一個。
示例:
from tkinter import *
def Mysel():
dic = {0:'甲',1:'乙',2:'丙'}
s = "您選了" + dic.get(var.get()) + "項"
lb.config(text = s)
root = Tk()
root.title('單選按鈕')
lb = Label(root)
lb.pack()
var = IntVar()
rd1 = Radiobutton(root,text="甲",variable=var,value=0,command=Mysel)
rd1.pack()
rd2 = Radiobutton(root,text="乙",variable=var,value=1,command=Mysel)
rd2.pack()
rd3 = Radiobutton(root,text="丙",variable=var,value=2,command=Mysel)
rd3.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kcTMG3eR-1654168959315)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602181717894.png)]
2.多選按鈕
跟多選的選擇題一樣
示例:
from tkinter import *
import tkinter
def run():
if(CheckVar1.get()==0 and CheckVar2.get()==0 and CheckVar3.get()==0 and CheckVar4.get()==0):
s = '您還沒選擇任何愛好項目'
else:
s1 = "哈密瓜" if CheckVar1.get()==1 else ""
s2 = "葡萄" if CheckVar2.get() == 1 else ""
s3 = "羊肉串" if CheckVar3.get() == 1 else ""
s4 = "卡瓦斯" if CheckVar4.get() == 1 else ""
s = "您選擇了%s %s %s %s" % (s1,s2,s3,s4)
lb2.config(text=s)
root = tkinter.Tk()
root.title('復選框')
lb1=Label(root,text='請選擇您的愛好項目')
lb1.pack()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
CheckVar3 = IntVar()
CheckVar4 = IntVar()
ch1 = Checkbutton(root,text='哈密瓜',variable = CheckVar1,onvalue=1,offvalue=0)
ch2 = Checkbutton(root,text='葡萄',variable = CheckVar2,onvalue=1,offvalue=0)
ch3 = Checkbutton(root,text='羊肉串',variable = CheckVar3,onvalue=1,offvalue=0)
ch4 = Checkbutton(root,text='卡瓦斯',variable = CheckVar4,onvalue=1,offvalue=0)
ch1.pack()
ch2.pack()
ch3.pack()
ch4.pack()
btn = Button(root,text="OK",command=run)
btn.pack()
lb2 = Label(root,text='')
lb2.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SNB4x1W6-1654168959316)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602182113370.png)]
四.模仿驗證滑塊界面
滑塊控件實例的主要方法比較簡單,有 get()
和set
(值),分別為取值和將滑塊設在某特定值上?;瑝K實例也可綁定鼠標左鍵釋放事件<ButtoonRelease-1>
,并在執(zhí)行函數(shù)中添加參數(shù)event來實現(xiàn)事件響應。
例如:在一個窗體上設計一個200
像素寬的水平滑塊,取值范圍為1.0~5.0
,分辨精度為0.05
,刻度間隔為 1
,用鼠標拖動滑塊后釋放鼠標可讀取滑塊值并顯示在標簽上。效果如下:
示例:
from tkinter import *
def show(event):
s = '滑塊的滑動距離' + str(var.get())
lb.config(text=s)
root = Tk()
root.title('滑塊')
root.geometry('320x180')
var=DoubleVar()
scl = Scale(root,orient=HORIZONTAL,length=200,from_=1.0,to=5.0,label='請拖動滑塊',tickinterval=1,resolution=0.05,variable=var)
scl.bind('<ButtonRelease-1>',show)
scl.pack()
lb = Label(root,text='')
lb.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1gSGPCFb-1654168959316)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602182552437.png)]
五.菜單界面
示例:
from tkinter import *
def new():
s = '新建'
lb1.config(text=s)
def ope():
s = '打開'
lb1.config(text=s)
def sav():
s = '保存'
lb1.config(text=s)
def cut():
s = '剪切'
lb1.config(text=s)
def cop():
s = '復制'
lb1.config(text=s)
def pas():
s = '粘貼'
lb1.config(text=s)
def popupmenu(event):
mainmenu.post(event.x_root,event.y_root)
root = Tk()
root.title('菜單實驗')
root.geometry('320x240')
lb1 = Label(root,text='顯示信息',font=('黑體',32,'bold'))
lb1.place(relx=0.2,rely=0.2)
mainmenu = Menu(root)
menuFile = Menu(mainmenu) # 菜單分組 menuFile
mainmenu.add_cascade(label="文件",menu=menuFile)
menuFile.add_command(label="新建",command=new)
menuFile.add_command(label="打開",command=ope)
menuFile.add_command(label="保存",command=sav)
menuFile.add_separator() # 分割線
menuFile.add_command(label="退出",command=root.destroy)
menuEdit = Menu(mainmenu) # 菜單分組 menuEdit
mainmenu.add_cascade(label="編輯",menu=menuEdit)
menuEdit.add_command(label="剪切",command=cut)
menuEdit.add_command(label="復制",command=cop())
menuEdit.add_command(label="粘貼",command=pas())
root.config(menu=mainmenu)
root.bind('Button-3',popupmenu) # 根窗體綁定鼠標右擊響應事件
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cUwjJO0b-1654168959317)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602183021820.png)]
固定格式:
菜單實例名=Menu(根窗體)
菜單分組1=Menu(菜單實例名)
菜單實例名.add_cascade(<label=菜單分組1 顯示文本>,<menu=菜單分組1>)
菜單分組1.add_command(<label=命令1文本>,<command=命令1函數(shù)名>)
六.對話框的選擇與交互
1.交互對話框
示例:
rom tkinter import *
import tkinter.messagebox
def xz():
answer=tkinter.messagebox.askokcancel('請選擇','請選擇確定或取消')
if answer:
lb.config(text='已確認')
else:
lb.config(text='已取消')
root = Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出對話框',command=xz)
btn.pack()
root.mainloop()
輸出:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MCGd67zW-1654168959318)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602184033255.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TI8jwffq-1654168959318)(C:\Users\86139\AppData\Roaming\Typora\typora-user-images\image-20220602184057053.png)]
2.選擇對話框
示例:
from tkinter import *
import tkinter.filedialog
def xz():
filename=tkinter.filedialog.askopenfilename()
if filename != '':
lb.config(text='您選擇的文件是'+filename)
else:
lb.config(text='您沒有選擇任何文件')
root = Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出文件選擇對話框',command=xz)
btn.pack()
root.mainloop()
= Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出對話框',command=xz)
btn.pack()
root.mainloop()
輸出:
[外鏈圖片轉存中…(img-MCGd67zW-1654168959318)]
[外鏈圖片轉存中…(img-TI8jwffq-1654168959318)]
2.選擇對話框
示例:
from tkinter import *
import tkinter.filedialog
def xz():
filename=tkinter.filedialog.askopenfilename()
if filename != '':
lb.config(text='您選擇的文件是'+filename)
else:
lb.config(text='您沒有選擇任何文件')
root = Tk()
lb = Label(root,text='')
lb.pack()
btn=Button(root,text='彈出文件選擇對話框',command=xz)
btn.pack()
root.mainloop()
到了這里,關于python如何做出圖形界面,python圖形化界面設計gui的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!