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)中第一個(gè)‘0'(x)為x坐標(biāo)不可調(diào)整大小,第二個(gè)為y坐標(biāo)不可調(diào)整大小
window.title('我的tk窗口')#窗口名字
?
#...
#注意:所有關(guān)于窗口的代碼都寫在mainloop之前,否則不會(huì)運(yùn)行
?
window.mainloop()#刷新屏幕
#如果沒有這句話,窗口不會(huì)顯示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模塊簡(jiǎn)單窗口設(shè)計(jì)
Python中Tk和PyQt都可以設(shè)計(jì)小程序,區(qū)別在于:Tk界面美觀度相對(duì)較差,但由于是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對(duì)象
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()效果圖:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)監(jiān)控指定進(jìn)程的cpu和內(nèi)存使用率
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)監(jiān)控指定進(jìn)程的cpu和內(nèi)存使用率,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
pytorch 使用單個(gè)GPU與多個(gè)GPU進(jìn)行訓(xùn)練與測(cè)試的方法
今天小編就為大家分享一篇pytorch 使用單個(gè)GPU與多個(gè)GPU進(jìn)行訓(xùn)練與測(cè)試的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
scrapy 遠(yuǎn)程登錄控制臺(tái)的實(shí)現(xiàn)
本文主要介紹了scrapy 遠(yuǎn)程登錄控制臺(tái)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python編寫一個(gè)會(huì)算賬的腳本的示例代碼
這篇文章主要介紹了python編寫一個(gè)會(huì)算賬的腳本,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
如何用Python 實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)(Multi-layer Perceptron)
這篇文章主要介紹了如何用Python 實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)(Multi-layer Perceptron),幫助大家更好的進(jìn)行機(jī)器學(xué)習(xí),感興趣的朋友可以了解下2020-10-10
Python 讀取千萬級(jí)數(shù)據(jù)自動(dòng)寫入 MySQL 數(shù)據(jù)庫(kù)
這篇文章主要介紹了Python 讀取千萬級(jí)數(shù)據(jù)自動(dòng)寫入 MySQL 數(shù)據(jù)庫(kù),本篇文章會(huì)給大家系統(tǒng)的分享千萬級(jí)數(shù)據(jù)如何寫入到 mysql,分為兩個(gè)場(chǎng)景,兩種方式2022-06-06
Python json 錯(cuò)誤xx is not JSON serializable解決辦法
這篇文章主要介紹了Python json 錯(cuò)誤xx is not JSON serializable解決辦法的相關(guān)資料,需要的朋友可以參考下2017-03-03
python TinyDB輕量級(jí)文檔導(dǎo)向數(shù)據(jù)庫(kù)輕松存儲(chǔ)訪問
這篇文章主要為大家介紹了python TinyDB輕量級(jí)文檔導(dǎo)向數(shù)據(jù)庫(kù)輕松存儲(chǔ)訪問數(shù)據(jù)使用探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
pyecharts在數(shù)據(jù)可視化中的應(yīng)用詳解
這篇文章主要介紹了pyecharts在數(shù)據(jù)可視化中的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

