python tkinter 文本类组件

2024-09-07 23:36
文章标签 python 组件 文本 tkinter

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

Label组件

Label(win,text='文本',justify='center)

win指定Label组件的父容器;text指定标签中的文本;justify指定标签中拥有多行文本时,最后一行文本的对齐方式。

from tkinter import *
from PIL import Image,ImageTkroot = Tk()
root.title("compound")
root.state("zoomed")  #全屏
GText = "\n床前明月光,疑是地上霜\n举头望明月,低头思故乡"G_gif = ImageTk.PhotoImage(file='h.jpg')
"""
使用Label的compound参数让文字与标签共存,compound参数设置图像的位置。compound参数可以是下列值left:图像在左
right:图像在右
top:图像在顶部
bottom:在下
center:文字覆盖在图像上方
"""
label = Label(root, text=GText, image = G_gif, bg='lightyellow',compound="left", font=("simsun", 20))label.pack()root.mainloop()

Entry组件

Entry组件用于添加单行文本框,其特点是可以添加少量文字

from tkinter import *
from PIL import Image,ImageTkwin=Tk()
win.configure(bg='lightyellow')user=ImageTk.PhotoImage(file='h.jpg')
Label(win,text='用户账号',font=14,image=user).grid(pady=10,row=0,column=0)
Entry(win).grid(row=0,column=1)
password=ImageTk.PhotoImage(file='h.png')
Label(win,text='密码',font=14,image=password).grid(pady=10,row=1,column=0)
# Entry组件中,可以通过show参数将用户输入的内容隐藏起来,并且显示为用户指定的字符
entry=Entry(win,show='*')
entry.grid(row=1,column=1)
"""
Entry组件提供了三种方法,分别是get()、insert()和delete()方法,通过这三种方法可以实现获取、插入及删除文本框组件中内容的功能
"""# 使用insert()在文本框的指定位置添加内容
entry.insert(INSERT,'password123')
# 使用delete()删除文本框中指定内容
def back():length=len(entry.get())  #获取文本框的内容的长度entry.delete(0,END)def show():str=entry.get()  #获取文本框的内容print('密码',str)
Button(win,text='显示',command=show).grid(row=1,column=2)  #定义一个按钮
Button(win,text='清除',command=back).grid(row=1,column=3)win.mainloop()

 

from tkinter import *
from PIL import Image,ImageTkwin=Tk()
win.configure(bg='lightyellow')def add():re.delete(0,END)add1=int(op1.get())add2=int(op2.get())re.insert(INSERT,add1+add2)op1=Entry(win,width=5)
op1.grid(row=0,pady=20)
Label(win,text='+').grid(row=0,column=1)
op2=Entry(win,width=5)
op2.grid(row=0,column=2)
Label(win,text='=').grid(row=0,column=3)
re=Entry(win,width=5)
re.grid(row=0,column=4)
Button(win,text='计算',command=add).grid(row=1,column=5)win.mainloop()

 

 

Text组件

Text组件内可以输入多行文本,当文本内容较多时,它可以自动换行。事实上,Text组件中不仅可以放置纯文本,还可以添加图片、按钮

from tkinter import *
from PIL import Image,ImageTki=0
def show():global ii+=1label.config(text='你点了我\t'+str(i)+'下')win=Tk()
win.configure(bg='lightyellow')
text=Text(win,width=45,height=10,bg='lightyellow',relief='solid')  #创建多行文本框
photo=ImageTk.PhotoImage(file='h.jpg')  #创建一个图象对象
text.image_create(END,image=photo)  #text中插入图片
text.insert(INSERT,'在这里添加文本') #添加文本
text.pack()bt=Button(win,text='你点我试试',command=show,padx=10) #创建一个按钮
label=Label(win,padx=10,text='你点了我0下')
"""
Text组件提供了index()方法,用于指向Text组件中文本的位置,
它与Python的序列索引一样,也是对应实际字符之间的位置。
Text组件中,文本的索引值通常为字符串类型,并且指定Text索引的方式有多种,
下面列举常见的几种方式:
☑ line.column:这种方式将索引位置的行号和列号以字符串的形式表示出来,并且中间以“.”分隔,例如“2.3”表示第2行第4列。
☑ insert:插入光标的位置。
☑ end:最后一个字符的位置,如果字符串为“end”,表示所有文本的最后一个字符位置;
如果字符串为“line.end”,就表示第line行的最后一个字符位置。
☑+count chars:指定位置向后移动count个字符。例如“2.1+2 chars”表示第2行第4个字符的位置。
☑-count chars:指定位置向前移动count个字符。例如“2.3-2 chars”表示第2行第2个字符的位置。
"""
text.window_create('2.1',window=bt)  #将按钮放在text中
text.window_create('2.2',window=label)print(text.get(1.1,1.9))
win.mainloop()

 

from tkinter import *
win=Tk()def undo1(event):text.edit_undo()  #撤销之前的操作
def redo1(enent):text.edit_redo()
def callback(event):print('hh')text.edit_separator()  #单击一次键盘就加一个分割线text=Text(win,width=50,height=30,undo=True,autoseparators=False)
text.pack()text.insert(INSERT,'在下方添加文本,通过键盘  <ctrl+z>撤销操作 和<ctrl+y回复操作\n\n>')
text.bind('<Key>',callback)
text.bind('<Control-Z>',undo1)
text.bind('<Control-Y>',redo1)  #按下组合键执行操作win.mainloop()

Spinbox组件

Spinbox组件不仅可以添加文本,还可以在给定的值中选择一个

from tkinter import *win=Tk()
win.title('购买道具')Label(win,text='购买道具:').grid(row=0,column=0,pady=10)
#通过元组定义可以选择的值
Spinbox(win,values=('绿水晶','红宝石','生命水')).grid(row=0,column=1,pady=10)
Label(win,text='购买数量').grid(row=1,column=0,pady=10)
#通过from_to 定义可选的数值范围
Spinbox(win,from_=1,to=5).grid(row=1,column=1,pady=10)
Label(win,text='限购5件').grid(row=1,column=1,pady=10)
Label(win,text='支付方式').grid(row=2,column=1,pady=10)
Spinbox(win,values=('金币','钻石','点券')).grid(row=2,column=1,pady=10)win.mainloop()

 

from tkinter import *win=Tk()
win.title('留言本')def show():info.insert('insert','\t时间:{}月{}日{}\n'.format(spmon.get(),spdat.get(),spwek.get()))print(info.get('1.0',END))
mess=Label(win,text='请添加你的留言').grid(row=0,column=0,columnspan=5,pady=10)
spmon=Spinbox(win,from_=1,to=12,width=10) #选择月份
spmon.grid(row=1,column=0,pady=10)
mon=Label(win,text='月').grid(row=1,column=1,pady=10)
spdat=Spinbox(win,from_=1,to=30,width=10) #选择日期
spdat.grid(row=1,column=2,pady=10)
dat=Label(win,text='日').grid(row=1,column=3,pady=10)
spwek=Spinbox(win,values=('星期一','星期二','星期三','星期四','星期五','星期六','星期日'))
spwek.grid(row=1,column=5,columnspan=3,pady=10)info=Text(win,bg='lightyellow',width=50,height=10)
get1=Button(win,text='提交',command=show).grid(row=3,columnspan=10)
info.grid(row=2,columnspan=10)win.mainloop()

Scale组件

Scale组件可以规定数值范围,用户只需要拖动滑块就可以选择数值

from tkinter import *win=Tk()num=0
def up1():if scale1.get()<50:val=scale1.get()+1scale1.set(val)num=val*5txt.config(text='爱心暴击'+str(num))def down1():if scale1.get()>0:val=scale1.get()-1scale1.set(val)num=val*5txt.config(text='爱心暴击'+str(num))
def hit(widget):num=scale1.get()*5txt.config(text='爱心暴击'+str(num))
txt=Label(text='爱心暴击+0')
txt.pack(side=TOP)
btndown=Button(win,text='-',command=down1,width=2).pack(side='left')
# from_和to表示数值范围,resolution=1表示每次滑块移动增加或减小1
"""
win为指定的父容器;form_和to指定Scale组件中值的范围,其中from_为最小值,to为最大值;
resolution定义滑块每次更改的数值;
orient定义组件垂直显示或水平显示,若值为HORIZONTAL,表示水平显示,若值为VERTICAL,表示垂直显示
"""
scale1=Scale(win,from_=0,to=50,resolution=1,orient=HORIZONTAL,showvalue=0,command=hit)
scale1.pack(side='left')btnup=Button(win,text='+',command=up1,width=2).pack(side='left')win.mainloop()

 

这篇关于python tkinter 文本类组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取