📜  python tkinter 专注入门——Python(1)

📅  最后修改于: 2023-12-03 15:19:01.732000             🧑  作者: Mango

Python Tkinter 专注入门

介绍

Python Tkinter 是一个 Python 标准库,用于创建 GUI 程序。本篇文章将介绍 Tkinter 的基本概念和用法,适合没有使用过 Tkinter 的程序员入门。

安装

Python Tkinter 是 Python 标准库的一部分,因此你不需要安装任何额外的软件包。

创建窗口

以下是创建一个简单的 Tkinter 窗口的代码:

from tkinter import *

root = Tk()

root.mainloop()
  • import tkinter: 导入 Tkinter 库。
  • Tk(): 创建一个新窗口。
  • mainloop(): 进入 Tkinter 中的主事件循环。必须将此方法放在最后一行,以便窗口可以正常工作。
添加小部件

在窗口中添加小部件,例如文本框、按钮和标签等。

from tkinter import *

root = Tk()

my_label = Label(root, text="Hello Tkinter!")
my_label.pack()

my_button = Button(root, text="Click Me!")
my_button.pack()

root.mainloop()
  • Label(): 创建一个标签小部件,用于显示文本。
  • Button(): 创建一个按钮小部件,用于触发事件。
  • pack(): 将小部件放置在窗口中。
布局管理

Tkinter 支持三种布局管理器:包布局、网格布局和框架布局。

包布局

包布局将小部件放置在父容器中,并根据需要调整它们的大小。

from tkinter import *

root = Tk()

my_label = Label(root, text="Hello Tkinter!")
my_label.pack(pady=10)

my_button = Button(root, text="Click Me!")
my_button.pack(pady=10)

root.mainloop()
  • pady=10: 设置小部件的垂直填充(上下边距)。
网格布局

网格布局将小部件放置在表格中,每个小部件被放置在一个单元格中。

from tkinter import *

root = Tk()

my_label = Label(root, text="Hello Tkinter!")
my_label.grid(row=0, column=0, padx=10, pady=10)

my_button = Button(root, text="Click Me!")
my_button.grid(row=1, column=0, padx=10, pady=10)

root.mainloop()
  • row=0, column=0: 将小部件放置在第一行第一列。
  • padx=10, pady=10: 设置小部件的水平填充(左右边距)和垂直填充(上下边距)。
框架布局

框架布局将小部件放置在框架中,然后再将框架放置在窗口中。框架可以帮助我们更好地组织和管理小部件。

from tkinter import *

root = Tk()

frame = Frame(root)
frame.pack(padx=10, pady=10)

my_label = Label(frame, text="Hello Tkinter!")
my_label.pack(pady=10)

my_button = Button(frame, text="Click Me!")
my_button.pack(pady=10)

root.mainloop()
  • Frame(): 创建一个框架小部件。
  • pack(): 将小部件放置在窗口或框架中。
事件处理

我们可以为小部件定义回调函数,以处理小部件上发生的事件。

from tkinter import *

root = Tk()

def button_click():
    my_label.config(text="Button clicked!")

my_label = Label(root, text="Hello Tkinter!")
my_label.pack(pady=10)

my_button = Button(root, text="Click Me!", command=button_click)
my_button.pack(pady=10)

root.mainloop()
  • command=button_click: 在按钮上设置回调函数 button_click()
结论

Tkinter 是 Python 的一个强大的 GUI 库,可以轻松地创建复杂的 GUI 应用程序。本文介绍了 Tkinter 的基本概念和用法,不足之处敬请见谅。