python基础—图形开发(上)

简介: python基础—图形开发

学习目标✍️✍️:


了解:用户图形界面开发领域的第三方库的名称。

理解:标准库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”按钮,将在控制台中打印一条消息。单击退出按钮,将关闭应用程序。

运行结果:

1.1.png

窗体的基本设置方法

在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()

运行结果:1.2.png

在这个例子中,我们创建了一个包含两个按钮的窗口,并使用pack布局管理器将它们分别放置在窗口的左侧和右侧。我们还使用了padx和pady参数来指定按钮的外边距大小,使它们之间有一定的距离。

相关文章
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
1548 20
|
11月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
1114 7
|
程序员 测试技术 开发工具
怎么开发Python第三方库?手把手教你参与开源项目!
大家好,我是程序员晚枫。本文将分享如何开发Python第三方库,并以我维护的开源项目 **popdf** 为例,指导参与开源贡献。Popdf是一个PDF操作库,支持PDF转Word、转图片、合并与加密等功能。文章涵盖从fork项目、本地开发、单元测试到提交PR的全流程,适合想了解开源贡献的开发者。欢迎访问[popdf](https://gitcode.com/python4office/popdf),一起交流学习!
470 21
怎么开发Python第三方库?手把手教你参与开源项目!
|
数据采集 存储 数据库
Python爬虫开发:Cookie池与定期清除的代码实现
Python爬虫开发:Cookie池与定期清除的代码实现
|
算法 程序员 API
电商程序猿开发实录:淘宝商品python(2)
本文分享了开发者在对接淘宝商品详情API过程中的真实经历,涵盖权限申请、签名验证、限流控制、数据解析及消息订阅等关键环节,提供了实用的Python代码示例,帮助开发者高效调用API,提升系统稳定性与数据处理能力。
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
1521 1
|
存储 算法 数据可视化
用Python开发猜数字游戏:从零开始的手把手教程
猜数字游戏是编程入门经典项目,涵盖变量、循环、条件判断等核心概念。玩家通过输入猜测电脑生成的随机数,程序给出提示直至猜中。项目从基础实现到功能扩展,逐步提升难度,适合各阶段Python学习者。
1115 0
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
JavaScript 前端开发 关系型数据库
基于Python+Vue开发的体育场馆预约管理系统源码+运行
本项目为大学生课程设计作业,采用Python和Vue技术构建了一个体育场馆预约管理系统(实现前后端分离)。系统的主要目标在于帮助学生理解和掌握Python编程知识,同时培养其项目规划和开发能力。参与该项目的学习过程,学生能够在实际操作中锻炼技能,为未来的职业发展奠定良好的基础。
359 3

推荐镜像

更多