周宁县建设局网站,品牌商品怎么做防伪网站,建设企业外贸网站,网站建设存在问题整改报告文本时窗口中必不可少的一部分#xff0c;tkinter模块中#xff0c;有3种常用的文本类组件#xff0c;通过这3种组件#xff0c;可以在窗口中显示以及输入单行文本、多行文本、图片等。
Label标签组件
Label组件的基本使用
Label组件是窗口中比较常用的组件#xff0c;…文本时窗口中必不可少的一部分tkinter模块中有3种常用的文本类组件通过这3种组件可以在窗口中显示以及输入单行文本、多行文本、图片等。
Label标签组件
Label组件的基本使用
Label组件是窗口中比较常用的组件通常用于添加文字或图片还可以定义Label组件中文字和图片的排列方式。
Label具体的语法如下
Label(win,text文本,justifycenter)
其中win是Label组件的父容器text指定标签的文本justify指定标签中拥有多行文本时最后一行文本的对齐方式
示例1
from tkinter import *winTk()
#标题
win.title(文本组件)
Label(win,text文本,justifycenter)
# textd定义Label标签里的文本内容bg表示Label的背景颜色
txt1Label(win,text象,bg#FFEBCD,width5,padx4,pady4,font10)
txt2Label(win,text狮,bg#c1ffc1,width5,padx4,pady4,font10)
txt3Label(win,text虎,bg#FFEBCD,width5,padx4,pady4,font10)
txt4Label(win,text豹,bg#c1ffc1,width5,padx4,pady4,font10)
txt5Label(win,text狼,bg#FFEBCD,width5,padx4,pady4,font10)
txt6Label(win,text狗,bg#c1ffc1,width5,padx4,pady4,font10)
txt7Label(win,text猫,bg#FFEBCD,width5,padx4,pady4,font10)
txt8Label(win,text鼠,bg#c1ffc1,width5,padx4,pady4,font10)
# foreground设置label组件的文字颜色
txtr1Label(win,text→,padx2,pady2,foreground#B22222).grid(row1,column2)
txtr2Label(win,text→,padx2,pady2,foreground#B22222).grid(row1,column4)
txtb1Label(win,text↓,padx2,pady2,foreground#B22222).grid(row2,column5)
txtb2Label(win,text↓,padx2,pady2,foreground#B22222).grid(row4,column5)
txtl1Label(win,text←,padx2,pady2,foreground#B22222).grid(row5,column4)
txtl2Label(win,text←,padx2,pady2,foreground#B22222).grid(row5,column2)
txtt1Label(win,text↑,padx2,pady2,foreground#B22222).grid(row4,column1)
txtt2Label(win,text↑,padx2,pady2,foreground#B22222).grid(row2,column1)
# 设置斗兽棋游戏的棋子的位置
txt1.grid(row1,column1)
txt2.grid(row1,column3)
txt3.grid(row1,column5)
txt4.grid(row3,column5)
txt5.grid(row5,column5)
txt6.grid(row5,column3)
txt7.grid(row5,column1)
txt8.grid(row3,column1)win.mainloop()在Label组件中添加图片
在tkinter模块中图片可以在多处使用例如Label组件、button按钮以及Text文字区域等但是添加图片时需要先创建图像对象PhotoImage()然后再在其他组件中引入该对象。例如在Label组件中添加一张图像
from tkinter import *winTk()
#标题
win.title(文本组件)
imgPhotoImage(filecat.png)
Label(win,imageimg).pack()
win.mainloop()PgotoImage()方法不支持jpg格式的图片如果需要在窗口中添加.jpg格式的图片需要现在和引入第三方模块PIL 而如果Label组件中既有文字又有图片则可以通过Label组件中的compound设置图片与文字的显示位置其参数和含义如下
参数值含义top图片位于文字的上方bottom图片位于文字的下方left图片位于文字的左侧right图片位于文字的右侧center文字位于图片上图文重叠且文字在图片的上层
Entry单行文本框组件
Entry组件的基本使用
Entry组件用于添加单行文本框其特点是可以添加少量文字。例如登录窗口的用户名输入框和密码输入框。添加Entry组件的语法如下
from tkinter import *winTk()
#标题
win.title(文本组件)
userPhotoImage(fileuser.png) #用户名图标
pswPhotoImage(filepsw.png) #密码图标
Label(win,imageuser,bg#fff).grid(row0) #显示用户名图标
Entry(win).grid(row0,column1,padx10,pady10) #用户名文本框
Label(win,imagepsw,bg#fff).grid(row1) #显示密码图标
Entry(win,show*).grid(row1,column1,padx10,pady10) #密码文本框输入的内容显示为“*”
Label(win,text确定,reliefgroove).grid(row2,columnspan2,pady10)
win.mainloop()很多app登录时需要设置密码输入密码时用户看到的并非是自己输入的密码而是“****”样式的隐藏符号在Entry组件中可以通过show参数将用户输入的内容隐藏起来。并且显示为用户指定的字符
Entry(win,show*)
Entry组件中各方法的使用
Entry组件中提供了三个方法分别是get()、insert()、delete()它们的具体功能
get()获取文本框中的内容
insert()在文本框的指定位置添加内容
entry.insert(4,***) insert()中的参数分别表示要添加文本的位置和内容 delete()在删除文本框中指定的内容
entry.delete(1,2) delete()中的参数分别表示删除文本区间的起始位置和结束位置 Text多行文本框组件
Entry组件虽然可以添加文字但是文字只能在一行中显示当文字较多时无法换行显示而Text多行文本框弥补了这一缺点。
Text组件的基本使用
Text组件内可以输入多行文本当文本内容较多时它可以自动换行。事实上Text组件中不仅可以放置纯文本还可以添加图片、按钮等具体语法如下
Text(win)
其中win为父容器。
在Text组件中可以通过insert()方法来添加初始文本
textText(win)
text.insert(INSERT,aaaaa)
在Text组件中添加图片时需要创建PhotoImage()对象然后通过image_create()引入图像
photoPhotoImage(filepsw.png)
text.image_create(END,imagephoto)
Text组件的索引
Text组件提供了index()方法该方法可以用于指向Text组件中文本的位置它与Python的序列索引一样Text组件索引也是对应实际字符的位置。Text组件中文本的索引值通常为字符串类型并且指定Text索引的方法有多重常见的有
line.column这种方式将索引位置的行号和列号以字符串的形式表现出来并且中间以“.”分隔例如“2.3”表示第2行第4列
insert插入光标的位置
end最后一个字符的位置如果字符串为end表示所有文本的最后一个字符如果字符串为line.end表示当前行的最后一个字符位置。
count chars指定位置向后移动count个字符。
-count chars指定位置向前移动count个字符。
Text组件的常用方法
Text组件提供了一些方法可以获取或编辑Text组件中的内容常用的方法如下
方法含义delete()删除Text组件中的内容get()获取文本内容mark_set()添加标记search()搜索文本edit_undo()撤销操作edit_separator()添加分割线如果再进行撤销操作时不会撤销所有操作而只是撤销上一次操作