文章主要是详细介绍了pythonGUI多做输入文本Text的控制方式,具有非常好的实用价值,希望能帮助到大家。如有误或者未考虑到真正的地区,望鼎力相助
Text的属性wrap
fromtkinterimport* root=Tk() root.geometry('200x300') te=Text(root,height=20,width=15) #将多做输入文本放进(pack)对话框中 te.pack() #持续打开程序 root.mainloop()
这一输入框相对高度为20,总宽为15,单位是标识符。能够看见当每排具体内容不能超过15标识符,持续键入就会发现,当所输入具体内容超出20行,输入框就会自动提升新型用以键入新具体内容。
换句话说,在没有任何明确规定的情形下,在多做文本输入时,内容包括没有限制的,可是每排能键入是多少标识符也是有限定。
自然每排能输入具体内容也可以不用受限制,这时候就要提到wrap特性。
wrap和Label和Button的wraplength属性有区别的。wraplength是为了能彻底表明标识或按键的文本信息,而做出多做表明。而Text的具体内容能够完全表明,wrap取不同类型的值。表明的形式不同。
wrap能够有三大值:NONE、WORD、CHAR。
#其他的部分上边的相同,仅仅加了一个wrap特性 te=Text(root,height=20,width=15,wrap=NONE)
相对高度和总宽或是20、15,只不过是属性wrap的数值NONE。那样的话,在没有任何手动式自动换行的现象,每排能够持续输入字符。假如向输入框放进文件信息,例如text、word文件,多做输入框中每排内容与文档里面的内容相同。
#wrap=CHAR te=Text(root,height=20,width=15,wrap=CHAR)
#wrap=WORD te=Text(root,height=20,width=15,wrap=WORD)
上边就是wrap数值WORD和CHAR的差别。能够看见数值WORD时,输入框会确保标识符的完好性,而数值CHAR的时候不会。二者,每排都是会控制在15字符,只不过是自动换行时的形式不同。
当输入框具体内容较多时,能够通过下拉列表来访问具体内容。有竖直下拉列表、水准下拉列表。
设定竖直下拉列表
想要的结果:在我们滚动竖直滚条时,文本信息也随之左右变化。
importtkinterastk root=tk.Tk() root.geometry('300x240') #f=tk.Frame(root) #建立下拉列表目标,默认设置是竖直下拉列表,orient=tk.VERTICAL s1=tk.Scrollbar(root)#下拉列表是应放在对话框上,其主要参数为对话框目标 #建立多做输入文本目标 b1=tk.Text(root,width=20,height=5, yscrollcommand=s1.set) #获得文本文档里面的内容 withopen(r'C:UsersAdministratorDesktop诗圣杜甫.txt')asa: data=a.read() #将文本文档具体内容放进输入框中 b1.insert(tk.END,data) s1.pack(side=tk.RIGHT,fill=tk.Y) s1.config(command=b1.yview) b1.pack() #f.pack() root.mainloop()
实际效果图例
建立完竖直下拉列表目标和多做输入文本目标后,应注意:
1.yscrollcommand=s1.set,那样滚动输入框具体内容,下拉列表还会滚动
2.s1.config(command=b1.yview),那样滚动下拉列表,输入框具体内容还会滚动。
3.s1.pack(side=tk.RIGHT,fill=tk.Y),那样下拉列表才可以充斥着x轴方位,而不仅仅是一部分。
设定水准下拉列表
import tkinter as tk root=tk.Tk() root.geometry('300x240') #f=tk.Frame(root) s1=tk.Scrollbar(root,orient=tk.HORIZONTAL) b1=tk.Text(root,width=20,height=5,wrap=tk.NONE, xscrollcommand=s1.set,cursor='circle', selectbackground='yellow',selectforeground='blue') #text内容的初始化 with open(r'C:UsersAdministratorDesktop杜甫.txt')as a: data=a.read() #放进杜甫的《茅屋为秋风所破歌》 b1.insert(tk.END,data) b1.pack() #获得文本中的内容 #print(b1.get(1.4,3.5),type(b1.get(1.4,3.5))) s1.pack(side=tk.BOTTOM,fill=tk.X) s1.config(command=b1.xview) #f.pack() root.mainloop()
实际效果图例
设定水准下拉列表会有一个事情,便是下拉列表无法显示。主要是因为,在默认设置前提下,每排的字符数会受限制,这个就用不到水准下拉列表。如果想解封,换句话说使放进的文本信息因其原先的方法自动换行,必须添加wrap=NONE。
得到文本信息
我们都知道Label、Button都有text特性,和这两种不一样的是,Entry、Text不能用text特性填写文本信息,Entry所使用的是textvariable特性,Text应用insert插入文本具体内容,Entry和Text的文本信息是动态变化,能够键入变更的。
Entry和Text都可输入文本具体内容,只不过是Text能够键入多列。因此Entry没有height特性,而Text有。在Entry和Text输入文本具体内容后,能够用get()得到字符串数组方式的文本信息。
import tkinter as tk root=tk.Tk() root.geometry('300x240') #f=tk.Frame(root) s1=tk.Scrollbar(root,orient=tk.HORIZONTAL) b1=tk.Text(root,width=20,height=5,wrap=tk.NONE, xscrollcommand=s1.set,cursor='circle', selectbackground='yellow',selectforeground='blue') #text内容的初始化 with open(r'C:UsersAdministratorDesktop杜甫.txt')as a: data=a.read() #放进杜甫的《茅屋为秋风所破歌》 b1.insert(tk.END,data) b1.pack() #获得文本中的内容 #print(b1.get(1.4,3.5),type(b1.get(1.4,3.5))) s1.pack(side=tk.BOTTOM,fill=tk.X) s1.config(command=b1.xview) #f.pack() #button的回调函数 def pri1(): print(b1.get(1.0,5.0),type(b1.get(1.4,3.5))) #由于文本内容可以随时变化,button获得最新的文本内容 button=tk.Button(root,text='button',command=pri1) button.pack() root.mainloop() 点击Button按钮,会获得文本内容
综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129031.html
此篇文章主要是详细介绍了pythonGUI多列输入文本Text的控制方式,具有非常好的实用价值,希望能帮助到大家。如有误或者未考虑到真正的地区,望鼎力相助 Text的属性wrap fromtkinterimport* root=Tk() root.geometry('200x300') te=Text(root,height=20,width=15) #将多...
摘要:图标解决了,程序代码编写好了,接下来就是最最重要的软件打包环节了。在此,我们用打包,这是一个用于打包软件的第三方库。 新建一个data.txt文件。存用户名和密码 #!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjam...
摘要:今天在搜索实现中文两端对齐的解决方法时,偶然发现了这个我遇到问题是看不到效果,无论是英文还是中文,在和下都不起作用。首先,大家要知道,是专门为英文设计的,谁叫是老外发明的呢,用来实现英文语句的两端对齐。 今天在搜索CSS实现中文两端对齐的解决方法时,偶然发现了这个hack: 我遇到问题是:看不到效果,无论是英文还是中文,在IE和chrome下都不起作用。还好在StackOverflo...
摘要:今天在搜索实现中文两端对齐的解决方法时,偶然发现了这个我遇到问题是看不到效果,无论是英文还是中文,在和下都不起作用。首先,大家要知道,是专门为英文设计的,谁叫是老外发明的呢,用来实现英文语句的两端对齐。 今天在搜索CSS实现中文两端对齐的解决方法时,偶然发现了这个hack: 我遇到问题是:看不到效果,无论是英文还是中文,在IE和chrome下都不起作用。还好在StackOverflo...
阅读 909·2023-01-14 11:38
阅读 876·2023-01-14 11:04
阅读 739·2023-01-14 10:48
阅读 1979·2023-01-14 10:34
阅读 941·2023-01-14 10:24
阅读 818·2023-01-14 10:18
阅读 498·2023-01-14 10:09
阅读 571·2023-01-14 10:02