Python GUI之tkinter窗口视窗教程大集合(推荐)

1. Tkinter介绍

Tkinter是用于Python的标准GUI库。它包含了众多的组件,使得创建GUI应用程序变得简单。Tkinter是一个跨平台的库,支持在Windows、Linux和Mac OS下使用,不需要另外的安装工作就可以使用。

2. 实现Tkinter窗口

2.1 导入Tkinter库

首先,我们需要使用import语句将tkinter库导入到Python程序中。

import tkinter as tk

2.2 创建主窗口

创建一个主窗口,可以使用Tk()函数。然后,我们可以使用title()方法来设置主窗口的标题。

root = tk.Tk()

root.title("My Window")

2.3 添加控件

在Tkinter中,我们可以使用许多控件来构建GUI。例如,可以使用Label控件添加文本,使用Button控件添加按钮。这些控件通常需要放置在容器控件(例如,Frame和LabelFrame)中。

在下面的示例中,我们创建了一个Label控件,并将其添加到主窗口中。我们还创建了一个Frame控件,并将其添加到主窗口中,并使用pack()方法使其显示在主窗口中。

root = tk.Tk()

root.title("My Window")

frame = tk.Frame(root)

frame.pack()

label = tk.Label(frame, text="Hello, World")

label.pack()

2.4 运行GUI

我们可以使用mainloop()方法来启动Tkinter窗口,并使其一直运行直到关闭窗口。

root = tk.Tk()

root.title("My Window")

frame = tk.Frame(root)

frame.pack()

label = tk.Label(frame, text="Hello, World")

label.pack()

root.mainloop()

3. 窗口大小和位置

3.1 设置窗口大小

我们可以使用geometry()方法来设置窗口的大小。它需要一个字符串参数,指定窗口的尺寸。字符串的格式为“宽度x高度”,例如,“300x200”表示宽度为300像素,高度为200像素。

root = tk.Tk()

root.title("My Window")

root.geometry("300x200")

root.mainloop()

3.2 设置窗口位置

我们可以使用geometry()方法来设置窗口的位置。它需要一个字符串参数,指定窗口的位置。字符串的格式为“+x+y”,其中x表示窗口左上角的x坐标,y表示窗口左上角的y坐标。

root = tk.Tk()

root.title("My Window")

root.geometry("300x200+100+100")

root.mainloop()

4. 控件布局

4.1 比例布局

比例布局是Tkinter中最简单的布局管理器之一。它将几个控件放置在一个框架中,并在窗口大小调整时自动调整它们的大小。

root = tk.Tk()

root.title("My Window")

frame = tk.Frame(root)

frame.pack(fill=tk.BOTH, expand=True)

label1 = tk.Label(frame, text="Label 1", bg="red", fg="white")

label1.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

label2 = tk.Label(frame, text="Label 2", bg="green", fg="white")

label2.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

root.mainloop()

4.2 网格布局

网格布局是Tkinter中最灵活的布局管理器之一。它使用行和列的网格来排列控件。我们可以使用row和column选项指定控件所在的行和列。

root = tk.Tk()

root.title("My Window")

label1 = tk.Label(root, text="Label 1", bg="red", fg="white")

label1.grid(row=0, column=0)

label2 = tk.Label(root, text="Label 2", bg="green", fg="white")

label2.grid(row=0, column=1)

root.mainloop()

4.3 包装布局

包装布局是最基本的布局管理器之一,它简单地将一系列控件垂直或水平排列。

root = tk.Tk()

root.title("My Window")

frame = tk.Frame(root)

frame.pack(fill=tk.X)

label1 = tk.Label(frame, text="Label 1", bg="red", fg="white")

label1.pack(side=tk.LEFT)

label2 = tk.Label(frame, text="Label 2", bg="green", fg="white")

label2.pack(side=tk.LEFT)

root.mainloop()

5. 事件处理

在Tkinter中,我们可以使用bind()方法来绑定事件处理程序函数到控件的事件上。在下面的示例中,当单击按钮时,将调用hello()函数。

import tkinter as tk

def hello(event):

print("Hello, World!")

root = tk.Tk()

root.title("My Window")

button = tk.Button(root, text="Click Me")

button.bind("", hello)

button.pack()

root.mainloop()

6. 总结

这篇文章介绍了Tkinter库以及如何在Python程序中使用Tkinter创建GUI应用程序。我们学习了如何创建主窗口、添加控件、设置窗口大小和位置、以及控件布局等概念。最后,我们学习了如何处理控件的事件。

后端开发标签