Python——tkinter窗口视窗的功能部件

2024-04-10 20:38

本文主要是介绍Python——tkinter窗口视窗的功能部件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

tkinter简介

Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。

tkinter 控件详细介绍:

tkinter 部件表格:

在这里插入图片描述

tkinter支持的16个核心窗口如下:

Button:一个简单的按钮,用来执行一个命令或别的操作。
Canvas:组织图形。这个部件可以用来绘制图表和图,创建图形编辑器,实现定制窗口部件。
Checkbutton:代表一个变量,它有两个不同的值。点击这个按钮将会在这两个值间切换。
Entry:文本输入域。
Frame:一个容器窗口部件。帧可以有边框和背景,当创建一个应用程序或dialog(对话)版面时,帧被用来组织其它的窗口部件。
Label:显示一个文本或图象。
Listbox:显示供选方案的一个列表。listbox能够被配置来得到radiobutton或checklist的行为。
Menu:菜单条。用来实现下拉和弹出式菜单。
Menubutton:菜单按钮。用来实现下拉式菜单。
Message:显示一文本。类似label窗口部件,但是能够自动地调整文本到给定的宽度或比率。
Radiobutton:代表一个变量,它可以有多个值中的一个。点击它将为这个变量设置值,并且清除与这同一变量相关的其它radiobutton。
Scale:允许你通过滑块来设置一数字值。
Scrollbar:为配合使用canvas, entry, listbox, and text窗口部件的标准滚动条。
Text:格式化文本显示。允许你用不同的样式和属性来显示和编辑文本。同时支持内嵌图象和窗口。
Toplevel:一个容器窗口部件,作为一个单独的、最上面的窗口显示。
messageBox:消息框,用于显示你应用程序的消息框。(Python2中为tkMessagebox)
注意在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟关系。

部分功能部件代码示例:

1.主窗口的创建以及Lable标签的创建使用:
#导入tkinter 包
import tkinterwindow=tkinter.Tk()#创建窗口对象
window.geometry("500x300")#定义窗口大小
window.title("My Window")#窗口的名称
# 在窗口中添加文本标签,使用tkinter.Lable来添加
lable=tkinter.Label(text='Hello!this is Tkinter', bg='red', font=('仿宋', 15), width=30, height=2)
#bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高
#当然,若只是想让字符显示在窗口中,并不设置背景与字体等,可以直接这样写:
# lable=thinter.Lable("Hello!this is Tkinter")
lable.pack()#将文本标签锁定
window.mainloop()

运行结果如下:
在这里插入图片描述

2.Button窗口部件:

Button窗口部件简单说明:
  Button(按钮)部件是一个标准的Tkinter窗口部件,用来实现各种按钮。按钮能够包含文本或图象,并且你能够将按钮与一个Python函数或方法相关联。当这个按钮被按下时,Tkinter自动调用相关联的函数或方法。
  按钮仅能显示一种字体,但是这个文本可以跨行。另外,这个文本中的一个字母可以有下划线,例如标明一个快捷键。默认情况,Tab键用于将焦点移动到一个按钮部件。
  简言之,按钮部件用来让用户说“马上给我执行这个任务”,通常我们用显示在按钮上的文本或图象来提示。按钮通常用在工具条中或应用程序窗口中,并且用来接收或忽略输入在对话框中的数据。关于按钮和输入的数据的配合,可以参看Checkbutton和Radiobutton部件。
  Button部件使用语法:
 btn=tkinter.Button(window,text=“确定”,command=回调函数名称)

代码部分:
#导入tkinter 包
import tkinterwindow=tkinter.Tk()#创建窗口对象
window.geometry("500x300")#定义窗口大小
window.title("My Window")#窗口的名称# 将Lable标签中的文本变量设置为字符型的,并用var来接收
var=tkinter.StringVar()# 在窗口中添加文本标签,使用tkinter.Lable来添加,但是将窗口中的文本为文本变量形式,究竟要赋什么值,要看var是什么了
lable=tkinter.Label(textvariable=var, bg='red', font=('仿宋', 15), width=30, height=2)
#bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高
lable.pack()#将文本标签锁定def hit():var.set("hello!this is tkinter")#定义按钮
btn=tkinter.Button(text="确定",font=('Arial', 12), width=10, height=1,command=hit)
btn.pack()window.mainloop()

运行结果如下:
在这里插入图片描述

在这里插入图片描述

3.Entry窗口部件:

Entry是tkinter类中提供的的一个单行文本输入域,用来输入显示一行文本

import tkinterwindow=tkinter.Tk()#创建窗口对象
window.geometry("500x300")#定义窗口大小
window.title("My Window")#窗口的名称h1=tkinter.Entry(window,show="*",font=('Arial',20))#以密文形式显示
h1.pack()
h2=tkinter.Entry(window,show=None,font=('Arial',20))#以明文形式显示
h2.pack()window.mainloop()

运行结果如下:
在这里插入图片描述
在这里插入图片描述

4.Listbox窗口部件: 显示有一个可供选择的列表
#1.导入tkinter 包
import tkinter
#2.定义窗口的基本信息
window=tkinter.Tk()#创建窗口对象
window.geometry("500x300")#定义窗口大小
window.title("My Window")#窗口的名称var1=tkinter.StringVar()
#3。在窗口中添加lable标签,用来显示选中的选项   用var1来接收
lable1=tkinter.Label(window,textvariable=var1,background='yellow',fg='red',font=('Arial',20),width=10,height=2)
lable1.pack()#5.创建一个方法用于按钮的点击事件
def btn_hit():value=listbox.get(listbox.curselection())#获取当前选中文本var1.set(value)#4.创建一个按钮
btn=tkinter.Button(window,text="print selection",width=15,height=2,bg='green',command=btn_hit)
#注意command后面的函数不能加(),否则,不点击按钮就直接执行函数了
btn.pack()#6.创建listbox并为其添加内容var2=tkinter.StringVar()
var2.set((1,2,3,4,5,6))#为var2 置值# 6.1创建listbox
listbox=tkinter.Listbox(window,listvariable=var2)#将var2 的值赋给listbox
#6.2 创建一个列表,并将列表中的值循环加入listbox中
list=[7,8,9]
for item in list:listbox.insert(item)
#不要忘记将listbox进行锁定哟
listbox.pack()
window.mainloop()

运行结果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.messageBox窗口部件

messageBox:用于显示应用消息的消息框,实际上就相当于我们平时所看到的弹窗(提示对话框),

用法:需要定义一个触发功能,来触发这个弹框。这里可以使用button按钮功能来触发这个弹框,通过触发功能来调用messageBox。点击button就会显示对话框。

代码如下:

#1.导入tkinter 包
import tkinter
import tkinter.messagebox
#2.定义窗口的基本信息
window=tkinter.Tk()#创建窗口对象
window.geometry("500x300")#定义窗口大小
window.title("My Window")#窗口的名称#3.创建一个方法用于按钮的点击事件
def btn_hit():tkinter.messagebox.showinfo(title="hi",message='你好!')#使用showinfo提示信息对话框# tkinter.messagebox.showerror(title="hi",message="出错了")#使用showerror来提示出错对话框# tkinter.messagebox.showwarning(title="hi",message='警告!')#使用showwarning来提示警告对话框# print(tkinter.messagebox.askquestion(title="hi",message="你好!"))#使用askquestion来提示选择对话框,选择内容为是/否# print(tkinter.messagebox.askyesno(title="hi",message="你好!"))#使用askyesno来提示选择对话框,返回true false#4.创建一个按钮
btn=tkinter.Button(window,text="btn_hit",width=15,height=2,bg='green',command=btn_hit)
#注意command后面的函数不能加(),否则,不点击按钮就直接执行函数了
btn.pack()
window.mainloop()

运行结果如下:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
点击你好返回yes,点击否返回no(对应的是showquestion)
点击你好返回yes,点击否返回no(对应的是showquestion)
点击是返回true,点击否返回false,对应的是askyesno
点击是返回true,点击否返回false,对应的是askyesno

这篇关于Python——tkinter窗口视窗的功能部件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892087

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优