文章主要是詳細(xì)介紹了pythonGUI多做輸入文本Text的控制方式,具有非常好的實用價值,希望能幫助到大家。如有誤或者未考慮到真正的地區(qū),望鼎力相助
Text的屬性wrap
fromtkinterimport* root=Tk() root.geometry('200x300') te=Text(root,height=20,width=15) #將多做輸入文本放進(jìn)(pack)對話框中 te.pack() #持續(xù)打開程序 root.mainloop()
這一輸入框相對高度為20,總寬為15,單位是標(biāo)識符。能夠看見當(dāng)每排具體內(nèi)容不能超過15標(biāo)識符,持續(xù)鍵入就會發(fā)現(xiàn),當(dāng)所輸入具體內(nèi)容超出20行,輸入框就會自動提升新型用以鍵入新具體內(nèi)容。
換句話說,在沒有任何明確規(guī)定的情形下,在多做文本輸入時,內(nèi)容包括沒有限制的,可是每排能鍵入是多少標(biāo)識符也是有限定。
自然每排能輸入具體內(nèi)容也可以不用受限制,這時候就要提到wrap特性。
wrap和Label和Button的wraplength屬性有區(qū)別的。wraplength是為了能徹底表明標(biāo)識或按鍵的文本信息,而做出多做表明。而Text的具體內(nèi)容能夠完全表明,wrap取不同類型的值。表明的形式不同。
wrap能夠有三大值:NONE、WORD、CHAR。
#其他的部分上邊的相同,僅僅加了一個wrap特性 te=Text(root,height=20,width=15,wrap=NONE)
相對高度和總寬或是20、15,只不過是屬性wrap的數(shù)值NONE。那樣的話,在沒有任何手動式自動換行的現(xiàn)象,每排能夠持續(xù)輸入字符。假如向輸入框放進(jìn)文件信息,例如text、word文件,多做輸入框中每排內(nèi)容與文檔里面的內(nèi)容相同。
#wrap=CHAR te=Text(root,height=20,width=15,wrap=CHAR)
#wrap=WORD te=Text(root,height=20,width=15,wrap=WORD)
上邊就是wrap數(shù)值WORD和CHAR的差別。能夠看見數(shù)值WORD時,輸入框會確保標(biāo)識符的完好性,而數(shù)值CHAR的時候不會。二者,每排都是會控制在15字符,只不過是自動換行時的形式不同。
當(dāng)輸入框具體內(nèi)容較多時,能夠通過下拉列表來訪問具體內(nèi)容。有豎直下拉列表、水準(zhǔn)下拉列表。
設(shè)定豎直下拉列表
想要的結(jié)果:在我們滾動豎直滾條時,文本信息也隨之左右變化。
importtkinterastk root=tk.Tk() root.geometry('300x240') #f=tk.Frame(root) #建立下拉列表目標(biāo),默認(rèn)設(shè)置是豎直下拉列表,orient=tk.VERTICAL s1=tk.Scrollbar(root)#下拉列表是應(yīng)放在對話框上,其主要參數(shù)為對話框目標(biāo) #建立多做輸入文本目標(biāo) b1=tk.Text(root,width=20,height=5, yscrollcommand=s1.set) #獲得文本文檔里面的內(nèi)容 withopen(r'C:UsersAdministratorDesktop詩圣杜甫.txt')asa: data=a.read() #將文本文檔具體內(nèi)容放進(jìn)輸入框中 b1.insert(tk.END,data) s1.pack(side=tk.RIGHT,fill=tk.Y) s1.config(command=b1.yview) b1.pack() #f.pack() root.mainloop()
實際效果圖例
建立完豎直下拉列表目標(biāo)和多做輸入文本目標(biāo)后,應(yīng)注意:
1.yscrollcommand=s1.set,那樣滾動輸入框具體內(nèi)容,下拉列表還會滾動
2.s1.config(command=b1.yview),那樣滾動下拉列表,輸入框具體內(nèi)容還會滾動。
3.s1.pack(side=tk.RIGHT,fill=tk.Y),那樣下拉列表才可以充斥著x軸方位,而不僅僅是一部分。
設(shè)定水準(zhǔn)下拉列表
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內(nèi)容的初始化 with open(r'C:UsersAdministratorDesktop杜甫.txt')as a: data=a.read() #放進(jìn)杜甫的《茅屋為秋風(fēng)所破歌》 b1.insert(tk.END,data) b1.pack() #獲得文本中的內(nèi)容 #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()
實際效果圖例
設(shè)定水準(zhǔn)下拉列表會有一個事情,便是下拉列表無法顯示。主要是因為,在默認(rèn)設(shè)置前提下,每排的字符數(shù)會受限制,這個就用不到水準(zhǔn)下拉列表。如果想解封,換句話說使放進(jìn)的文本信息因其原先的方法自動換行,必須添加wrap=NONE。
得到文本信息
我們都知道Label、Button都有text特性,和這兩種不一樣的是,Entry、Text不能用text特性填寫文本信息,Entry所使用的是textvariable特性,Text應(yīng)用insert插入文本具體內(nèi)容,Entry和Text的文本信息是動態(tài)變化,能夠鍵入變更的。
Entry和Text都可輸入文本具體內(nèi)容,只不過是Text能夠鍵入多列。因此Entry沒有height特性,而Text有。在Entry和Text輸入文本具體內(nèi)容后,能夠用get()得到字符串?dāng)?shù)組方式的文本信息。
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內(nèi)容的初始化 with open(r'C:UsersAdministratorDesktop杜甫.txt')as a: data=a.read() #放進(jìn)杜甫的《茅屋為秋風(fēng)所破歌》 b1.insert(tk.END,data) b1.pack() #獲得文本中的內(nèi)容 #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的回調(diào)函數(shù) def pri1(): print(b1.get(1.0,5.0),type(b1.get(1.4,3.5))) #由于文本內(nèi)容可以隨時變化,button獲得最新的文本內(nèi)容 button=tk.Button(root,text='button',command=pri1) button.pack() root.mainloop() 點擊Button按鈕,會獲得文本內(nèi)容
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/129031.html
此篇文章主要是詳細(xì)介紹了pythonGUI多列輸入文本Text的控制方式,具有非常好的實用價值,希望能幫助到大家。如有誤或者未考慮到真正的地區(qū),望鼎力相助 Text的屬性wrap fromtkinterimport* root=Tk() root.geometry('200x300') te=Text(root,height=20,width=15) #將多...
摘要:圖標(biāo)解決了,程序代碼編寫好了,接下來就是最最重要的軟件打包環(huán)節(jié)了。在此,我們用打包,這是一個用于打包軟件的第三方庫。 新建一個data.txt文件。存用戶名和密碼 #!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjam...
摘要:今天在搜索實現(xiàn)中文兩端對齊的解決方法時,偶然發(fā)現(xiàn)了這個我遇到問題是看不到效果,無論是英文還是中文,在和下都不起作用。首先,大家要知道,是專門為英文設(shè)計的,誰叫是老外發(fā)明的呢,用來實現(xiàn)英文語句的兩端對齊。 今天在搜索CSS實現(xiàn)中文兩端對齊的解決方法時,偶然發(fā)現(xiàn)了這個hack: 我遇到問題是:看不到效果,無論是英文還是中文,在IE和chrome下都不起作用。還好在StackOverflo...
摘要:今天在搜索實現(xiàn)中文兩端對齊的解決方法時,偶然發(fā)現(xiàn)了這個我遇到問題是看不到效果,無論是英文還是中文,在和下都不起作用。首先,大家要知道,是專門為英文設(shè)計的,誰叫是老外發(fā)明的呢,用來實現(xiàn)英文語句的兩端對齊。 今天在搜索CSS實現(xiàn)中文兩端對齊的解決方法時,偶然發(fā)現(xiàn)了這個hack: 我遇到問題是:看不到效果,無論是英文還是中文,在IE和chrome下都不起作用。還好在StackOverflo...
閱讀 1169·2023-01-14 11:38
閱讀 1160·2023-01-14 11:04
閱讀 986·2023-01-14 10:48
閱讀 2538·2023-01-14 10:34
閱讀 1241·2023-01-14 10:24
閱讀 1123·2023-01-14 10:18
閱讀 736·2023-01-14 10:09
閱讀 818·2023-01-14 10:02