Python Tkinter窗口创建与基础组件应用指南

方予
方予
发布时间:2026-10-16 | 5人浏览过
原创

本文详细介绍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()

运行效果如下图所示。

以上为个人经验分享,希望能为大家提供参考,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表