CodeGym /课程 /Python SELF ZH /使用 Tkinter 创建与用户交互的基础应用窗口

使用 Tkinter 创建与用户交互的基础应用窗口

Python SELF ZH
第 49 级 , 课程 1
可用

1. 创建应用的主窗口

今天我们将跟随 Tkinter 一起探索图形界面世界的精彩旅程。 听完这堂课后,你的电脑将不再只是一个冷冰冰的机器,而是一个可以向用户炫耀成果的小魔法师。那么,系好安全带,我们开始构建第一个基础应用窗口吧!

我们从创建应用的主窗口开始。在 Tkinter 中,这其实很简单。我们会用 Tk() 函数来创建主窗口的实例 —— 就像 GUI 世界中的传统 "Hello, World!"。


import tkinter as tk

# 创建应用实例
root = tk.Tk()

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

# 启动主循环
root.mainloop()
    

这里发生了什么?

  1. 导入 Tkinter:首先,我们导入库 tkinter。为了方便,我们把它简写为 tk(因为我们程序员就喜欢缩写)。
  2. 创建窗口:我们创建了一个对象 root,它代表应用的主窗口。可以把这个窗口想象成应用的“心脏”,没有它应用就没法活下去。
  3. 窗口标题:通过方法 title() 设置窗口的标题,让用户明白他们正在使用什么。在这里我们把标题命名为 "我的第一个应用"。
  4. 主循环 (mainloop()):这是应用中的重要部分,它启动事件处理循环。当这个循环运行时,窗口会停留在屏幕上,等待用户交互。

逐步指南

  1. 创建主窗口:所有界面都从创建主窗口开始。

    
    root = tk.Tk()
    root.title("基础窗口")
                

    恭喜!你刚刚邀请了一个窗口进入你的生活。希望你有窗帘哦!

  2. 设置窗口参数:我们可以对窗口进行一些个性化设置。

    
    root.geometry("800x600")  # 宽度 x 高度
    root.iconbitmap('icon.ico')  # 你可以指定自己的图标文件
                
  3. 应用的主循环:为了确保窗口不会在出现后立即消失,我们需要启动主循环。

    
    root.mainloop()
                

应用的主循环

现在我们有了一个窗口,是时候聊聊主循环 mainloop() 了。它就像你的隐形 DJ,一直在后台稳定运行。 主循环负责维持应用的运行并响应用户的操作,比如鼠标点击或键盘输入。

如果没有这个循环,你的应用只会短暂地显示一个空白窗口然后关闭。所以记得在每一个 Tkinter 脚本的末尾加上它!

2. 认识小部件

Tkinter 提供了许多小部件,每个小部件都有自己独特的功能。让我们来了解一些它们。

Tkinter 的主要小部件

  • 窗口 (Window):所有其他小部件的主表面。
  • 按钮 (Button):可以响应点击的交互元素。
  • 输入框 (Entry):用于输入单行文本的文本框。
  • 标签 (Label):用于显示文本或图片。
  • 文本框 (Text):用于输入和显示多行文本。

小部件的使用示例

以下是一个简单的示例,展示如何创建一个带有按钮和标签的窗口:


import tkinter as tk

def say_hello():
    label.config(text="你好,世界!")

root = tk.Tk()
root.title("我的第一个应用")

label = tk.Label(root, text="点击按钮")
label.pack(pady=10)

button = tk.Button(root, text="点击我", command=say_hello)
button.pack(pady=5)

root.mainloop()
    

运行此代码后,你会看到一个带有标签和按钮的窗口。点击按钮,标签会向世界问好!

3. 向窗口添加小部件

现在我们有了一个酷酷的窗口(嗯,目前看起来还很基础),我们可以开始添加一些小部件了。小部件是用户界面的元素,比如按钮、标签、输入框等等。我们从简单的开始:创建一个按钮和一个标签。


# 导入 tkinter 库
import tkinter as tk

# 创建主窗口
root = tk.Tk()
root.title("我的第一个应用")

# 创建标签并放置在窗口中
label = tk.Label(root, text="你好,用户!欢迎来到我的第一个 GUI。")
label.pack()  # 使用 pack 方法放置小部件

# 创建按钮并放置在窗口中
button = tk.Button(root, text="点击我!", command=lambda: print("按钮被点击了!"))
button.pack()

# 启动主循环
root.mainloop()
    

解释

  1. 标签 (Label):我们用 Label() 创建了一个带有文本 "你好,用户!欢迎来到我的第一个 GUI。" 的标签。最后的 pack() 方法是用来将小部件放置在屏幕上的简单方式。

  2. 按钮 (Button):按钮的文本是 "点击我!"。同时我们传递了一个 command 参数,告诉它在按钮被点击时需要调用哪个函数。在这里我们传递的是 lambda: print("按钮被点击了!"),所以点击时你会在控制台看到一条消息。

就这样,我们不仅创建了一个基础窗口,还让它变得可以交互了!可以说我们从一个简单窗口做出了一个小“应用”。这才刚刚开始哦——后面还有更多有趣的内容!

希望你喜欢这次 Tkinter 的初步探索。请记住,GUI 是展示你编程技能的一个绝佳机会。在接下来的讲座中,我们会学习如何添加按钮和输入框,所以准备好迎接更互动的界面吧!

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION