Tkinter 是 Python 的标准 GUI 库,用于创建桌面应用程序。下面我将详细解析 Tkinter 基础窗口的各个组成部分。

最简单的 Tkinter 窗口

import tkinter as tk

# 创建主窗口
root = tk.Tk()

# 进入主事件循环
root.mainloop()

这个简单的代码创建了一个空白窗口,包含了标题栏、最小化、最大化和关闭按钮。

窗口基本设置

import tkinter as tk

root = tk.Tk()

# 设置窗口标题
root.title("我的第一个 Tkinter 窗口")

# 设置窗口大小 (宽x高)
root.geometry("400x300")

# 设置窗口是否可调整大小 (宽, 高)
root.resizable(True, False)  # 宽度可调,高度不可调

# 设置窗口图标
# root.iconbitmap("icon.ico")  # 使用 .ico 文件

# 设置窗口背景颜色
root.configure(bg="lightblue")

# 设置窗口透明度 (0.0 完全透明 - 1.0 完全不透明)
root.attributes('-alpha', 0.9)

# 设置窗口始终置顶
root.attributes('-topmost', True)

root.mainloop()

窗口位置设置

import tkinter as tk

root = tk.Tk()
root.title("窗口位置设置")
root.geometry("300x200")

# 获取屏幕尺寸
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()

# 计算窗口位置使其居中
x = (screen_width - 300) // 2  # 300 是窗口宽度
y = (screen_height - 200) // 2  # 200 是窗口高度

# 设置窗口位置 (宽x高+x+y)
root.geometry(f"300x200+{x}+{y}")

# 或者使用简化的居中方法
# root.eval('tk::PlaceWindow . center')

root.mainloop()

添加基本控件

import tkinter as tk
from tkinter import messagebox

def button_click():
    messagebox.showinfo("提示", f"你好, {entry.get()}!")

root = tk.Tk()
root.title("带控件的窗口")
root.geometry("400x300")

# 标签
label = tk.Label(root, text="请输入你的名字:", font=("Arial", 12))
label.pack(pady=10)

# 输入框
entry = tk.Entry(root, width=30, font=("Arial", 10))
entry.pack(pady=10)

# 按钮
button = tk.Button(root, text="点击我", command=button_click, 
                  bg="lightgreen", fg="black", font=("Arial", 10))
button.pack(pady=10)

# 文本框
text = tk.Text(root, height=5, width=40)
text.pack(pady=10)
text.insert("1.0", "这是一个多行文本框...")

root.mainloop()