Python Tkinter窗口创建与基础组件应用指南
本文详细介绍Python中Tkinter模块的窗口创建流程,涵盖导入模块、设置窗口属性(大小、标题、不可调整)、添加Label标签及Button按钮等核心步骤。同时对比Tk与PyQt在美观度与程序体积上的差异,并提供完整代码示例,帮助开发者快速掌握Python基础GUI开发技巧。
Python Tkinter窗口创建
在Python语言中,Tkinter提供了一种名为Tk的窗口接口,其基本创建流程如下所示。
第一步是导入必要的模块。
import tkinter as tk
from PLT import ImageTk第二步是创建主窗口对象,并配置相关窗口参数。
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()#刷新屏幕
#如果没有这句话,窗口不会显示第三步是在窗口中添加Label标签组件。
#创建Label组件
bgImg = ImageTk.PhotoImage(file="images/bg1.jpg")#图片路径
bg = tk.Label(window,width=1000,height=600,image=bgImg)#创建Label组件
# 图片的宽 图片的高 图片路径
bg.pack()#绘制第四步是添加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中Tkinter窗口的基本创建过程。
Python Tkinter模块简单窗口设计
在Python中,Tkinter和PyQt均可用于设计小程序界面。两者的主要区别在于:Tkinter界面的美观度相对较差,但因其作为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()运行效果如下图所示。

以上为个人经验分享,希望能为大家提供参考,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









