Python中TK窗口的創(chuàng)建方式
Python TK窗口的創(chuàng)建
python語言中有一種窗口叫Tk窗口,創(chuàng)建方法如下:
1.導(dǎo)入
import tkinter as tk from PLT import ImageTk
2.創(chuàng)建窗口,設(shè)置有關(guān)窗口的參數(shù)
window = tk.Tk()#創(chuàng)建窗口
window.geometry('1000x600')#設(shè)置窗口大小。
#如果不設(shè)置窗口大小,分為2種情況:
#1.傳入背景:為背景大小
#2.沒有背景:為默認(rèn)大小
window.resizable(0,0)#設(shè)置窗口不可調(diào)整大小。
#這里的(0,0)中第一個‘0'(x)為x坐標(biāo)不可調(diào)整大小,第二個為y坐標(biāo)不可調(diào)整大小
window.title('我的tk窗口')#窗口名字
?
#...
#注意:所有關(guān)于窗口的代碼都寫在mainloop之前,否則不會運(yùn)行
?
window.mainloop()#刷新屏幕
#如果沒有這句話,窗口不會顯示3.添加Label組件
#創(chuàng)建Label組件 bgImg = ImageTk.PhotoImage(file="images/bg1.jpg")#圖片路徑 bg = tk.Label(window,width=1000,height=600,image=bgImg)#創(chuàng)建Label組件 # ? ? ? ? ? ? ? ? ? ? 圖片的寬 ? ?圖片的高 ? ?圖片路徑 bg.pack()#繪制
4.添加Button按鈕
#預(yù)留的觸發(fā)事件函數(shù)
def down():
? ? print('你點(diǎn)擊了按鈕')
?
#創(chuàng)建Button按鈕
selectImg = ImageTk.PhotoImage(file="images/select.jpg")#圖片路徑
select = tk.Button(window,width=192,height=63,image=selectImg,bd=0,command=down)
# ? ? ? ? ? ? ? ? ? ? ? ? ?圖片的寬 ?圖片的高 ? ?圖片路徑 ? ? ?邊寬 ?按鈕觸發(fā)事件函數(shù)
#command:command=函數(shù)名 —> 無參
# ? ? ? ? command=lambda:函數(shù)名(參數(shù)) —> 有參
select.place(x=750,y=180)
#繪制在(x,y)的位置上,注意'x=','y='必須寫這就是python中TK窗口的基本創(chuàng)建
Python Tk模塊簡單窗口設(shè)計
Python中Tk和PyQt都可以設(shè)計小程序,區(qū)別在于:Tk界面美觀度相對較差,但由于是Python的內(nèi)置模塊,最終生成的程序大小相比于PyQt較小。
import tkinter # 導(dǎo)入TKinter模塊
from tkinter import StringVar
from tkinter import *
from PIL import ImageTk, Image
ytm = tkinter.Tk() # 創(chuàng)建Tk對象
ytm.title("test_tool") # 設(shè)置窗口標(biāo)題
ytm.geometry("400x300") # 設(shè)置窗口尺寸
canvas = tkinter.Canvas(ytm, width=400, height=400, bd=0, highlightthickness=0)
imgpath = './p1.jpg'
img = Image.open(imgpath)
photo = ImageTk.PhotoImage(img)
canvas.create_image(200, 150, image=photo)
canvas.pack()
#entry = tkinter.Entry(ytm, insertbackground='red', highlightthickness=2)
#entry.pack()
ytm.resizable(False,False)#不允許改變窗口大小
l1 = tkinter.Label(ytm, text="歡")# 標(biāo)簽
l1.place(x=40,y=20)
#l1.pack() # 指定包管理器放置組件
user_text1 = tkinter.Entry() # 創(chuàng)建文本框
user_text1.place(x=80,y=20)
l2 = tkinter.Label(ytm, text="迎") # 標(biāo)簽
#l2.pack()
l2.place(x=40,y=60)
user_text2 = tkinter.Entry() # 創(chuàng)建文本框
#user_text2.pack()
user_text2.place(x=80,y=60)
l3 = tkinter.Label(ytm, text="來") # 標(biāo)簽
#l3.pack()
l3.place(x=40,y=100)
user_text3 = tkinter.Entry() # 創(chuàng)建文本框
user_text3.place(x=80,y=100)
l4 = tkinter.Label(ytm, text="到") # 標(biāo)簽
l4.place(x=40,y=140)
filename=StringVar()
filename02=StringVar()
filename03=StringVar()
user_text4 = tkinter.Entry(ytm, textvariable = filename) # 創(chuàng)建文本框
user_text4.place(x=80,y=140)
l5 = tkinter.Label(ytm, text="這") # 標(biāo)簽
l5.place(x=40,y=180)
user_text5= tkinter.Entry(ytm, textvariable = filename02) # 創(chuàng)建文本框
user_text5.place(x=80,y=180)
l6 = tkinter.Label(ytm, text="里") # 標(biāo)簽
l6.place(x=40,y=220)
user_text6 = tkinter.Entry(ytm, textvariable = filename03) # 創(chuàng)建文本框
user_text6.place(x=80,y=220)
ytm.mainloop()效果圖:

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python的內(nèi)建模塊itertools的使用解析
這篇文章主要介紹了Python的內(nèi)建模塊itertools的使用解析,itertools是python的迭代器模塊,itertools提供的工具相當(dāng)高效且節(jié)省內(nèi)存,Python的內(nèi)建模塊itertools提供了非常有用的用于操作迭代對象的函數(shù),需要的朋友可以參考下2023-09-09
Python3實現(xiàn)爬蟲爬取趕集網(wǎng)列表功能【基于request和BeautifulSoup模塊】
這篇文章主要介紹了Python3實現(xiàn)爬蟲爬取趕集網(wǎng)列表功能,結(jié)合實例形式分析了Python3基于request和BeautifulSoup模塊的網(wǎng)站頁面爬取相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
簡單介紹Python中利用生成器實現(xiàn)的并發(fā)編程
這篇文章主要介紹了簡單介紹Python中利用生成器實現(xiàn)的并發(fā)編程,使用yield生成器函數(shù)進(jìn)行多進(jìn)程編程是Python學(xué)習(xí)進(jìn)階當(dāng)中的重要知識,需要的朋友可以參考下2015-05-05
python os模塊在系統(tǒng)管理中的應(yīng)用
這篇文章主要介紹了python os模塊在系統(tǒng)管理中的應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06

