首頁 > 軟體

Python中TK視窗的建立方式

2022-12-01 14:02:44

Python TK視窗的建立

python語言中有一種視窗叫Tk視窗,建立方法如下:

1.匯入 

import tkinter as tk
from PLT import ImageTk

2.建立視窗,設定有關視窗的引數

window = tk.Tk()#建立視窗
window.geometry('1000x600')#設定視窗大小。
#如果不設定視窗大小,分為2種情況:
#1.傳入背景:為背景大小
#2.沒有背景:為預設大小
window.resizable(0,0)#設定視窗不可調整大小。
#這裡的(0,0)中第一個‘0'(x)為x座標不可調整大小,第二個為y座標不可調整大小
window.title('我的tk視窗')#視窗名字
 
#...
#注意:所有關於視窗的程式碼都寫在mainloop之前,否則不會執行
 
window.mainloop()#重新整理螢幕
#如果沒有這句話,視窗不會顯示

3.新增Label元件

#建立Label元件
bgImg = ImageTk.PhotoImage(file="images/bg1.jpg")#圖片路徑
bg = tk.Label(window,width=1000,height=600,image=bgImg)#建立Label元件
#                     圖片的寬    圖片的高    圖片路徑
bg.pack()#繪製

4.新增Button按鈕

#預留的觸發事件函數
def down():
    print('你點選了按鈕')
 
#建立Button按鈕
selectImg = ImageTk.PhotoImage(file="images/select.jpg")#圖片路徑
select = tk.Button(window,width=192,height=63,image=selectImg,bd=0,command=down)
#                          圖片的寬  圖片的高    圖片路徑      邊寬  按鈕觸發事件函數
#command:command=函數名 —> 無參
#         command=lambda:函數名(引數) —> 有參
select.place(x=750,y=180)
#繪製在(x,y)的位置上,注意'x=','y='必須寫

這就是python中TK視窗的基本建立

Python Tk模組簡單視窗設計

Python中Tk和PyQt都可以設計小程式,區別在於:Tk介面美觀度相對較差,但由於是Python的內建模組,最終生成的程式大小相比於PyQt較小。

import tkinter  # 匯入TKinter模組
from tkinter import StringVar
from tkinter import *

from PIL import ImageTk, Image
ytm = tkinter.Tk()  # 建立Tk物件
ytm.title("test_tool")  # 設定視窗標題
ytm.geometry("400x300")  # 設定視窗尺寸
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="歡")# 標籤
l1.place(x=40,y=20)
#l1.pack()  # 指定包管理器放置元件
user_text1 = tkinter.Entry()  # 建立文字方塊
user_text1.place(x=80,y=20)
l2 = tkinter.Label(ytm, text="迎")  # 標籤
#l2.pack()
l2.place(x=40,y=60)
user_text2 = tkinter.Entry()  # 建立文字方塊
#user_text2.pack()
user_text2.place(x=80,y=60)
l3 = tkinter.Label(ytm, text="來")  # 標籤
#l3.pack()
l3.place(x=40,y=100)
user_text3 = tkinter.Entry()  # 建立文字方塊
user_text3.place(x=80,y=100)
l4 = tkinter.Label(ytm, text="到")  # 標籤
l4.place(x=40,y=140)
filename=StringVar()
filename02=StringVar()
filename03=StringVar()
user_text4 = tkinter.Entry(ytm, textvariable = filename)  # 建立文字方塊
user_text4.place(x=80,y=140)
l5 = tkinter.Label(ytm, text="這")  # 標籤
l5.place(x=40,y=180)
user_text5= tkinter.Entry(ytm, textvariable = filename02)  # 建立文字方塊
user_text5.place(x=80,y=180)
l6 = tkinter.Label(ytm, text="裡")  # 標籤
l6.place(x=40,y=220)
user_text6 = tkinter.Entry(ytm, textvariable = filename03)  # 建立文字方塊
user_text6.place(x=80,y=220)
ytm.mainloop()

效果圖:

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com