程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

python tkinter tk窗口组件的基础用法介绍

hfteth 2025-07-23 14:15:35 技术文章 3 ℃


Tk 是 tkinter 中最基础的窗口组件,用于创建主应用程序窗口,是所有其他组件的容器。

要创建 Tk 窗口很简单,在导入 tkinter 后,调用 Tk 方法就可以了。

import tkinter as tk

# 创建主窗口实例

root = tk.Tk()


我们可以把窗口实例赋值给一个变量(如上面的 root ),这样就可以对该窗口进行各种配置了。


但这时我们运行,程序是没动静的。因为 tk 窗口创建后一闪而过就关闭了,需要调用 mainloop() 方法,让窗口一直显示。

# 保持窗口显示

root.mainloop()

常用的窗口设置比如:

- 设置窗口标题:用 title() 方法,如 root.title("自定义标题") 。

- 设置窗口大小和位置:用 geometry() 方法,格式为 “宽x高” 或 “宽x高+X坐标+Y坐标” ,例如 geometry("600x300") 。注意宽和高中间是小写字母 x ,否则会出错。


- 禁止调整窗口大小:用 resizable() 方法,参数为 0 或 False 禁止调整,如 resizable(0, 0) (两个参数分别控制宽度和高度)。

- 限制最大/最小尺寸:用 maxsize() 或 minsize() 方法,如 maxsize(800, 500) 。

Tk 窗口还有个很重要的方法 attributes() ,可以用来获取或设置窗口的底层属性,调整视觉效果和行为特性等。

常用属性及示例:

- '-alpha' :设置透明度,值范围 0.0 (完全透明)到 1.0 (完全不透明),如 root.attributes('-alpha', 0.7) 。

- '-topmost' :值为 1 时窗口顶置,如 root.attributes('-topmost', 1) 。

- '-disabled' :值为 1 时窗口不可交互,用户无法点击或输入。

- '-toolwindow' :值为 1 时窗口变为工具样式(无最大化、最小化按钮)。

- '-zoomed' :值为 1 时窗口最大化。

- '-fullscreen' :值为 1 时全屏显示,值为 0 时退出全屏。

整体代码如下:

import tkinter as tk

# 创建主窗口实例

root = tk.Tk()

# 对窗口进行配置(以设置标题为例)

root.title("我的第一个Tk窗口")

# 设置窗口大小和位置(宽x高+X坐标+Y坐标)

root.geometry("600x300+100+100") # 宽600px,高300px,左上角距屏幕左边缘100px、上边缘100px


# 禁止调整窗口大小(宽度和高度均禁止)

root.resizable(0, 0)


# 限制窗口最大尺寸

root.maxsize(800, 500)


# 设置窗口透明度为0.7(完全透明为0.0,完全不透明为1.0)

root.attributes('-alpha', 0.7)


# 设置窗口顶置(始终在其他窗口上方)

root.attributes('-topmost', 1)


# 保持窗口显示

root.mainloop()


另外需要注意:在同一个程序里,不应该使用多个 Tk 窗口。因为多个 mainloop() 会争夺事件处理权,导致窗口卡顿、资源重复加载或程序崩溃。正确做法是用一个 Tk 作为主窗口,子窗口用 Toplevel 实现(后续视频会详细介绍)。有疑问可以在评论区留言探讨~

最近发表
标签列表