python中tkinter实现GUI程序:三个实例

python中tkinter实现GUI程序

  • 写在最前面
  • Python中使用Tkinter实现GUI程序的基本元素
    • Tkinter简介
    • 基本元素
      • 1. 根窗口(Root Window)
      • 2. 小部件(Widgets)
      • 3. 布局管理
      • 4. 事件处理
  • 1.用 tkinter实现一个简单的 GUI程序,单击“click”按钮,在终端打印出“hello world”。
  • 2.设计一个窗体,模拟登录界面,当用户输入正确的用户名和密码时提示“登录成功”,否则提示“用户名或密码错误”。
  • 3.创建如图11-35所示的界面,输入作品和作者信息后,单击“读取信息”按钮将输入的信息在下方的输入框中显示,单击“退出”按钮退出程序的执行。
  • 结语

写在最前面

Python作为一种多功能、易于学习的编程语言,不仅仅在数据科学、机器学习、网络开发等领域大放异彩,也在图形用户界面(GUI)开发中扮演着重要角色。其中,Tkinter库作为Python的标准GUI库,以其简单易用而广受欢迎。


一位粉丝希望了解,如何实战python中tkinter如何实现GUI程序。

在这里插入图片描述

Python中使用Tkinter实现GUI程序的基本元素

本小节将介绍如何使用Tkinter创建基本的GUI程序,涵盖了Tkinter的核心元素,并提供实用的示例和技巧,让你迅速入门。

Tkinter简介

Tkinter是Python的标准GUI库,用于创建跨平台的桌面应用程序。它是一个轻量级的库,易于学习和使用,适合初学者和开发小型项目。Tkinter的核心优势在于其简洁性,你可以用很少的代码实现功能丰富的窗体应用。

基本元素

1. 根窗口(Root Window)

每个Tkinter应用都开始于创建一个根窗口。这是你的应用的主窗口,其他所有的GUI元素都被放置在这个窗口中。

import tkinter as tkroot = tk.Tk()
root.mainloop()

2. 小部件(Widgets)

Tkinter的小部件是构建应用的基石。常用的小部件包括:

  • 按钮(Button):执行命令的标准按钮。
  • 标签(Label):显示文本或图像。
  • 输入框(Entry):单行文本输入。
  • 文本框(Text):多行文本输入。
  • 框架(Frame):组织其他小部件。

每个小部件都可以自定义其属性,如大小、颜色、字体等。

3. 布局管理

Tkinter提供了几种布局管理器来安排小部件:

  • pack():按顺序放置小部件。
  • grid():在表格中放置小部件。
  • place():精确控制小部件的位置。

使用这些布局管理器,你可以创建整洁和吸引人的界面布局。

4. 事件处理

在GUI程序中,事件处理是核心。Tkinter允许你定义事件处理函数,响应用户的行为,如点击按钮、输入文本等。

def on_click():print("Button clicked!")button = tk.Button(root, text="Click Me", command=on_click)
button.pack()

1.用 tkinter实现一个简单的 GUI程序,单击“click”按钮,在终端打印出“hello world”。

请添加图片描述

import tkinter as tkdef hello_world():print("hello world")app = tk.Tk()
app.title("Hello World App")
button = tk.Button(app, text="Click", command=hello_world)
button.pack()
app.mainloop()

2.设计一个窗体,模拟登录界面,当用户输入正确的用户名和密码时提示“登录成功”,否则提示“用户名或密码错误”。

请添加图片描述

from tkinter import messageboxdef check_login():username = entry_username.get()password = entry_password.get()if username == "your_username" and password == "your_password":  # replace with actual username and passwordmessagebox.showinfo("Login Status", "登录成功")else:messagebox.showinfo("Login Status", "用户名或密码错误")app = tk.Tk()
app.title("Login")tk.Label(app, text="Username:").pack()
entry_username = tk.Entry(app)
entry_username.pack()tk.Label(app, text="Password:").pack()
entry_password = tk.Entry(app, show="*")
entry_password.pack()button_login = tk.Button(app, text="Login", command=check_login)
button_login.pack()app.mainloop()

3.创建如图11-35所示的界面,输入作品和作者信息后,单击“读取信息”按钮将输入的信息在下方的输入框中显示,单击“退出”按钮退出程序的执行。

请添加图片描述

import tkinter as tkdef display_info():work = entry_work.get()author = entry_author.get()text_info.delete('1.0', tk.END)text_info.insert(tk.END, f"作品: {work}\n作者: {author}")app = tk.Tk()
app.title("Information Display")tk.Label(app, text="作品").pack()
entry_work = tk.Entry(app)
entry_work.pack()tk.Label(app, text="作者").pack()
entry_author = tk.Entry(app)
entry_author.pack()button_read = tk.Button(app, text="读取信息", command=display_info)
button_read.pack()text_info = tk.Text(app)
text_info.pack()button_exit = tk.Button(app, text="退出", command=app.quit)
button_exit.pack()app.mainloop()

结语

Tkinter是Python中创建GUI的一种简单而强大的方式。无论你是初学者还是有经验的开发者,Tkinter都是入门GUI编程的理想选择。通过学习和使用Tkinter,你可以构建出直观、交互性强的桌面应用程序,增强用户体验。

开始你的Tkinter旅程,创造你的第一个Python GUI应用吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/214253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java项目-瑞吉外卖Day3

填充公共字段: 目的:由于某些属性,例如createdTime这些需要填充的字段会在多个地方出现,所以考虑使用公共字段自动填充的办法减少重复代码。 在对应属性上加入TableField注解。通过fill字段表明策略,是插入/更新的时候…

如何搭建废品上门回收小程序

如今,随着环境保护意识的增强,废品的回收和再利用变得越来越重要。为了方便人们进行废品回收,搭建一个废品上门回收的小程序成为了一个不错的选择。本文将介绍如何从零开始搭建一个废品上门回收小程序。 …

【Go自学版】02-goroutine

利用时间片分割进程,致使宏观上A,B,C同时执行(并发) CPU利用率包含了执行和切换,进程/线程的数量越多,切换成本也会增大 最大并行数:GOMAXPROCS work stealing: 偷其他队列的G hand off: 当前G1阻塞&#…

css 修改滚动条样式,解决Windows浏览器中滚动条不美观问题

Windows环境中的浏览器中滚动条默认是直接显示了,不管光标是否进入该区域,这样就很不美观,如下图: 之前样式为 .well {display: block;background-color: #f2f2f2;border: 1px solid #ccc;margin: 5px;width: calc(100% - 12px);h…

mycat部署和配置读写分离(二)

说明: MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。 1. jdk1.8安装 详见jdk环境安装 2. Mysql安装 详见mysql8.0.11源码安装…

【lesson11】数据类型之string类型

文章目录 数据类型分类string类型set类型测试 enum类型测试 string类型的内容查找找所有女生(enum中)找爱好有游泳的人(set中)找到爱好中有足球和篮球的人 数据类型分类 string类型 set类型 说明: set:集…

SL9008 3.6-60V输入 LED降压恒流芯片 内置MOS管 带PWM调光

SL9008是一款内置MOS管、具有PWM调光功能的LED降压恒流芯片,适用于3.6-60V的输入电压范围。它采用了先进的电路设计,确保了高效率和长寿命,同时具有宽电压输入范围和优异的负载调整率。 SL9008的主要特点包括: 1. 宽输入电压范围&…

HarmonyOS4.0开发应用——【ArkUI组件使用】

ArkUI组件使用 这里会详细演示以下组件使用: ImageTextTextInputButtonSliderColumn&&RowList自定义组件以及相关函数使用 Image 可以是网络图片、可以是本地图片、也可以是像素图 Image("https://ts1.cn.mm.bing.net/th?idOIP-C.cYA-_PINA-ND9OeBaolDTwHaHa&…

CLIP在Github上的使用教程

CLIP的github链接:https://github.com/openai/CLIP CLIP Blog,Paper,Model Card,Colab CLIP(对比语言-图像预训练)是一个在各种(图像、文本)对上进行训练的神经网络。可以用自然语…

鸿蒙HarmonyOS(ArkTS)语法 声明变量及注意事项

好 今天我们来看一个基础的harmonyOS语法 变量声明 这里 我们还是用 ArkTS项目 我们声明变量的语法并不是ArkTS的 而是 javaScript 和 TypeScript的 可以看一下下面一张图 js是最初弱类型语言 于是TS作为js的副类 是一种更严谨的数据限定语法 而ArkTS 是TS的改良版 其实我们…

一篇文章教你快速弄懂 web自动化测试中的三种等待方式

前言 现在的网页很多都是动态加载的,如果页面的内容发生了改变,就需要时间来渲染。在咱们做web自动化测试的时候,由于代码是自动执行的,代码在执行的时候,有可能上一步操作而加载的元素还没加载出来,就会报…

配置本地端口镜像示例(1:1)

本地端口镜像简介 本地端口镜像是指观察端口与监控设备直接相连,观察端口直接将镜像端口复制来的报文转发到与其相连的监控设备进行故障定位和业务监测。 配置注意事项 观察端口专门用于镜像报文的转发,因此不要在上面配置其他业务,防止镜像…

建筑学VR虚拟仿真情景实训教学

首先,建筑学VR虚拟仿真情景实训教学为建筑学专业的学生提供了一个身临其境的学习环境。通过使用VR仿真技术,学生可以在虚拟环境中观察和理解建筑结构、材料、设计以及施工等方面的知识。这种教学方法不仅能帮助学生更直观地理解复杂的建筑理论&#xff0…

记录 | ubuntu源码编译安装/更新boost版本

一、卸载当前的版本 1、查看当前安装的boost版本 dpkg -S /usr/include/boost/version.hpp通过上面的命令,你就可以发现boost的版本了,查看结果可能如下: libboost1.54-dev: /usr/include/boost/version.hpp 2、删除当前安装的boost sudo …

记录 | 使用samba将ubuntu文件夹映射到windows实现共享文件夹

一、ubuntu配置 1. 安装 samba samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议。 sudo apt-…

Excel COUNT类函数使用

目录 一. COUNT二. COUNTA三. COUNTBLANK四. COUNTIF五. COUNTIFS 一. COUNT ⏹用于计算指定范围内包含数字的单元格数量。 基本语法 COUNT(value1, [value2], ...)✅统计A2到A7所有数字单元格的数量 ✅统计A2到A7,B2到B7的所有数字单元格的数量 二. COUNTA ⏹计…

大数据分析与应用实验任务十一

大数据分析与应用实验任务十一 实验目的 通过实验掌握spark Streaming相关对象的创建方法; 熟悉spark Streaming对文件流、套接字流和RDD队列流的数据接收处理方法; 熟悉spark Streaming的转换操作,包括无状态和有状态转换。 熟悉spark S…

Linux 驱动开发需要掌握哪些编程语言和技术?

Linux 驱动开发需要掌握哪些编程语言和技术? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Linux从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家&#xf…

1. mycat入门

1、mycat介绍 Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有存 储引擎,所以并不是完全意义的分布式数据库系统。MyCat是目前最流行的基于Java语言编写的数据库中间件,也可以理解为是数据…

鸿蒙HarmonyOS4.0 入门与实战

一、开发准备: 熟悉鸿蒙官网安装DevEco Studio熟悉鸿蒙官网 HarmonyOS应用开发官网 - 华为HarmonyOS打造全场景新服务 应用设计相关资源: 开发相关资源: 例如开发工具 DevEco Studio 的下载 应用发布: 开发文档: