学习目标✍️✍️:
了解:用户图形界面开发领域的第三方库的名称。
理解:标准库tkinter在图形界面中的开发。
掌握:绘图标准库turtle的使用,第三方库的获取和安装。
应用:应用turtle库绘图。
python图形界面开发
Python图形界面开发是指使用Python语言来创建图形用户界面(GUI)应用程序的过程。图形用户界面可以提供更友好的交互方式,使用户可以通过点选、拖拽、输入等方式与应用程序进行交互,而不是通过命令行等方式。
Python是一种流行的编程语言,它有很多用于图形用户界面(GUI)开发的库和框架。以下是一些常用的Python GUI开发工具:
Tkinter:Python自带的GUI开发工具包,可以创建简单的GUI应用程序。
2. PyQt:一个基于Qt库的Python GUI开发工具包,提供了丰富的GUI组件和功能。
wxPython:基于wxWidgets库的Python GUI开发工具包,可以创建跨平台的GUI应用程序。
4.PyGTK:基于GTK+库的Python GUI开发工具包,可以创建跨平台的GUI应用程序。
5.Kivy:一个跨平台的Python GUI开发框架,专注于创建移动应用程序和多点触控应用程序。
📜📜今天我们来学习tkinter模块📜📜
认识tkinter模块
Tkinter是Python自带的GUI工具包,它是一个跨平台的工具包,可以在Windows、Linux和MacOS等操作系统上运行。Tkinter是基于Tk GUI工具包的Python接口,TkGUI工具包是一个用于创建GUI应用程序的工具包,最初是为Tcl语言设计的,后来被移植到了其他语言中,包括Python。
使用Tkinter,可以快速地创建GUI应用程序,Tkinter提供了一系列的GUI组件,如按钮、标签、文本框、滚动条、列表框等,可以通过这些组件来构建GUI界面。Tkinter还提供了一些布局管理器,可以更方便地管理和布局GUI组件。
以下是一个使用Tkinter创建简单GUI应用程序的示例代码:
import tkinter as tk class Application(tk.Frame): def __init__(self, master=None): super().__init__(master) self.master = master self.pack() self.create_widgets() def create_widgets(self): self.hi_there = tk.Button(self) self.hi_there["text"] = "Hello World\n(click me)" self.hi_there["command"] = self.say_hi self.hi_there.pack(side="top") self.quit = tk.Button(self, text="QUIT", fg="red", command=self.master.destroy) self.quit.pack(side="bottom") def say_hi(self): print("hi there, everyone!") root = tk.Tk() app = Application(master=root) app.mainloop()
这个示例创建了一个窗口,包含一个按钮和一个退出按钮。单击“Hello
World”按钮,将在控制台中打印一条消息。单击退出按钮,将关闭应用程序。
运行结果:
窗体的基本设置方法
在Tkinter中,窗体被称为顶层窗口(Toplevel),可以通过创建一个Toplevel对象来创建一个窗体。可以使用Toplevel对象的方法和属性来对窗体进行基本设置。
以下是一些常用的窗体设置方法:
1. 设置窗体标题:可以使用Toplevel对象的title()方法来设置窗体标题
win = tk.Toplevel() win.title("My Window")
2. 设置窗体大小:可以使用Toplevel对象的geometry()方法来设置窗体的大小
win = tk.Toplevel() win.geometry("400x300")
3. 设置窗体位置:可以使用Toplevel对象的geometry()方法来设置窗体的位置
win = tk.Toplevel() win.geometry("+100+100")
其中,第一个加号后面的数字表示窗体距离屏幕左边缘的像素数,第二个加号后面的数字表示窗体距离屏幕上边缘的像素数。
4. 设置窗体图标:可以使用Toplevel对象的iconbitmap()方法来设置窗体的图标
win = tk.Toplevel() win.iconbitmap("myicon.ico")
其中,myicon.ico是窗体图标的文件名。
5. 窗体的最大化和最小化:可以使用Toplevel对象的state()方法来设置窗体的状态
win = tk.Toplevel() win.state("zoomed") # 最大化窗体 win.state("iconic") # 最小化窗体
其中,"zoomed"表示最大化窗体,"iconic"表示最小化窗体。
通过这些方法,可以对窗体进行基本设置,使窗体更符合实际需求。
几何布局管理器
在Tkinter中,有三种常用的几何布局管理器:
pack布局管理器:
按照添加组件的顺序自动排列,可以设置方向、填充和间隔等参数。
grid布局管理器:
可以将组件放置在一个网格中,可以设置行列的大小和位置,以及组件之间的间隔。
place布局管理器:
可以通过设置组件的绝对位置和大小来进行布局,适用于需要精确布局的场景。
不同的布局管理器适用于不同的场景,需要根据具体需求进行选择。
pack布局管理器
pack布局管理器是tkinter模块中用于布局的一种方式,它会自动将组件(如按钮、标签等)按照指定的方向(上、下、左、右)排列,并根据组件的大小和容器的大小自动调整组件的位置和大小。
使用pack布局管理器,可以通过指定多个参数来控制组件的排列方式和位置,例如:
side:指定组件在容器中的位置,可选值为LEFT、RIGHT、TOP和BOTTOM。
expand:指定组件是否填满整个容器,默认为False。
fill:指定组件在容器中的填充方式,可选值为NONE、X、Y和BOTH。
padx和pady:指定组件在x和y方向上的外边距大小。
下面是一个简单的例子,演示如何使用pack布局管理器来排列两个按钮:
import tkinter as tk root = tk.Tk() btn1 = tk.Button(root, text="Button 1") btn1.pack(side=tk.LEFT, padx=10, pady=10) btn2 = tk.Button(root, text="Button 2") btn2.pack(side=tk.RIGHT, padx=10, pady=10) root.mainloop()
运行结果:
在这个例子中,我们创建了一个包含两个按钮的窗口,并使用pack布局管理器将它们分别放置在窗口的左侧和右侧。我们还使用了padx和pady参数来指定按钮的外边距大小,使它们之间有一定的距离。