亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python?GUI多行輸入文本Text的實(shí)現(xiàn)

 更新時(shí)間:2022年06月28日 08:42:55   作者:LLLLLLLLLLLLIU  
這篇文章主要介紹了python?GUI多行輸入文本Text的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Text的屬性wrap

from tkinter import *
root = Tk()
root.geometry('200x300')
te = Text(root,height=20,width=15)
#將多行輸入文本放入(pack)窗口中
te.pack()
#持續(xù)運(yùn)行程序
root.mainloop()

這個(gè)文本框的高度為20,寬度為15,單位為字符。可以看到當(dāng)每行的內(nèi)容不會(huì)超過(guò)15字符,不斷輸入會(huì)發(fā)現(xiàn),當(dāng)所輸入的內(nèi)容超過(guò)20行,文本框會(huì)自動(dòng)增加新行用于輸入新的內(nèi)容。

也就是說(shuō),在沒(méi)有明確說(shuō)明的情況下,在多行文本輸入時(shí),內(nèi)容是不受限制的,但是每行能輸入多少字符是有限制。

當(dāng)然每行能輸入的內(nèi)容也可以不受到限制,這就要說(shuō)到wrap屬性。

wrap和Label和Button的wraplength屬性是有差別的。wraplength是為了完全顯示標(biāo)簽或按鈕的文本內(nèi)容,而采取多行顯示。而Text的內(nèi)容能完全顯示,wrap取不同的值。顯示的方式不一樣。

wrap可以有三個(gè)值:NONE、WORD、CHAR。

#其它的部分和上面的一樣,只是加了個(gè)wrap屬性
te = Text(root,height=20,width=15,wrap=NONE)

高度和寬度還是20、15,只不過(guò)屬性wrap的值為NONE。這樣的話,在沒(méi)有手動(dòng)換行的情況,每行可以不斷輸入內(nèi)容。如果向文本框放入文件內(nèi)容,比如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值為WORD和CHAR的區(qū)別??梢钥吹街禐閃ORD時(shí),文本框會(huì)保證字符的完整性,而值為CHAR時(shí)不會(huì)。兩者,每行都會(huì)限制在15個(gè)字符,只不過(guò)換行時(shí)的方式不一樣。

當(dāng)文本框的內(nèi)容比較多時(shí),可以借助滾動(dòng)條來(lái)瀏覽內(nèi)容。有垂直滾動(dòng)條、水平滾動(dòng)條。

設(shè)置垂直滾動(dòng)條

想要的效果:當(dāng)我們滑動(dòng)垂直滾條時(shí),文本內(nèi)容也隨著上下變動(dòng)。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
#f=tk.Frame(root)
#創(chuàng)建滾動(dòng)條對(duì)象,默認(rèn)是垂直滾動(dòng)條,orient=tk.VERTICAL
s1 = tk.Scrollbar(root) #滾動(dòng)條是要放在窗口上,其參數(shù)為窗口對(duì)象
#創(chuàng)建多行輸入文本對(duì)象
b1 = tk.Text(root,width=20,height=5,
             yscrollcommand=s1.set)
#獲取文本文件中的內(nèi)容
with open(r'C:\Users\Administrator\Desktop\杜甫.txt') as a:
    data = a.read()
#將文本文件的內(nèi)容放入文本框中
b1.insert(tk.END,data)
s1.pack(side=tk.RIGHT,fill=tk.Y)
s1.config(command=b1.yview)
b1.pack()
#f.pack()
root.mainloop()

效果圖示

創(chuàng)建完垂直滾動(dòng)條對(duì)象和多行輸入文本對(duì)象后,需要注意:

  • 1.yscrollcommand=s1.set,這樣滑動(dòng)文本框的內(nèi)容,滾動(dòng)條也會(huì)滑動(dòng)
  • 2.s1.config(command=b1.yview),這樣滑動(dòng)滾動(dòng)條,文本框的內(nèi)容也會(huì)滑動(dòng)。
  • 3.s1.pack(side=tk.RIGHT,fill=tk.Y),這樣滾動(dòng)條才能充滿y軸方向,而不只是一小部分。

設(shè)置水平滾動(dòng)條

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:\Users\Administrator\Desktop\杜甫.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è)置水平滾動(dòng)條會(huì)出現(xiàn)一個(gè)問(wèn)題,就是滾動(dòng)條不顯示。這是因?yàn)?,在默認(rèn)情況下,每行的字符數(shù)會(huì)有限制,這樣就用不上水平滾動(dòng)條。如果要解除限制,或者說(shuō)使放入的文本內(nèi)容以其原有的方式換行,需要加入wrap=NONE。

獲得文本內(nèi)容

我們知道Label、Button都有text屬性,和這兩者不同的是,Entry、Text不能用text屬性填入文本內(nèi)容,Entry使用的是textvariable屬性,Text使用insert插入文本內(nèi)容,Entry和Text的文本內(nèi)容是動(dòng)態(tài)的,可以輸入更改的。

Entry和Text均可輸入文本內(nèi)容,只不過(guò)Text可以輸入多行。所以Entry沒(méi)有height屬性,而Text有。在Entry和Text輸入文本內(nèi)容后,可以用get()獲得字符串形式的文本內(nèi)容。

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:\Users\Administrator\Desktop\杜甫.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)容可以隨時(shí)變化,button獲得最新的文本內(nèi)容
button = tk.Button(root,text='button',command=pri1)
button.pack()
root.mainloop()

點(diǎn)擊Button按鈕,會(huì)獲得文本內(nèi)容

我們這里截取的是一段。每點(diǎn)擊一次按鈕,獲取一次文本內(nèi)容。所以創(chuàng)建Button按鈕可以獲取文本當(dāng)前的內(nèi)容。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python將多個(gè)文本文件合并為一個(gè)文本的代碼(便于搜索)

    python將多個(gè)文本文件合并為一個(gè)文本的代碼(便于搜索)

    源代碼目錄一般很詳細(xì),每個(gè)代碼文件都不長(zhǎng),一般只占幾十行而已。在跟著書(shū)籍學(xué)習(xí)的過(guò)程中,可以打開(kāi)源代碼運(yùn)行之后查看效果,或者適當(dāng)修改看看變化,這都是很好的掌握技術(shù)的好辦法。
    2011-03-03
  • python中的字典使用分享

    python中的字典使用分享

    Python 中的字典是Python中一個(gè)鍵值映射的數(shù)據(jù)結(jié)構(gòu),下面介紹一下如何操作字典,希望大家能夠喜歡
    2016-07-07
  • 提升?Python?代碼運(yùn)行速度的6個(gè)技巧

    提升?Python?代碼運(yùn)行速度的6個(gè)技巧

    本文分享了提升?Python?代碼運(yùn)行速度的6個(gè)技巧,Python?比我們想象的運(yùn)行的要快。我們之所以有先入為主的認(rèn)為Python運(yùn)行慢,可能是我們平常的誤用和缺乏使用技巧知識(shí)。接下來(lái)讓我們看看如何用一些簡(jiǎn)單的Trick來(lái)提高我們程序的運(yùn)行性能,需要的朋友可以參考一下
    2022-01-01
  • Python反射機(jī)制實(shí)例講解

    Python反射機(jī)制實(shí)例講解

    本文主要介紹了Python反射機(jī)制實(shí)例,文中運(yùn)用了大量的代碼講解Python反射機(jī)制,感興趣的小伙伴一定不要錯(cuò)過(guò)這篇文章,可以參考參考
    2021-08-08
  • 詳解Python開(kāi)發(fā)語(yǔ)言中的基本數(shù)據(jù)類型

    詳解Python開(kāi)發(fā)語(yǔ)言中的基本數(shù)據(jù)類型

    數(shù)據(jù)類型想必大家都知道是什么含義,指的是輸入數(shù)據(jù)的類型,任何數(shù)據(jù)都有明確的數(shù)據(jù)類型。本文主要和大家聊聊Python的三種基本數(shù)據(jù)類型,感興趣的可以了解一下
    2022-10-10
  • Python自動(dòng)化中三種等待時(shí)間方式

    Python自動(dòng)化中三種等待時(shí)間方式

    這篇文章主要介紹了Python自動(dòng)化中三種等待時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python切割圖片成九宮格的示例代碼

    Python切割圖片成九宮格的示例代碼

    這篇文章主要介紹了Python切割圖片成九宮格的相關(guān)知識(shí),本文通過(guò)截圖實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python利用pdfplumber實(shí)現(xiàn)讀取PDF寫(xiě)入Excel

    Python利用pdfplumber實(shí)現(xiàn)讀取PDF寫(xiě)入Excel

    pdfplumber專注PDF內(nèi)容提取,例如文本(位置、字體及顏色等)和形狀(矩形、直線、曲線),還有解析表格的功能。本文主要為大家介紹如何利用pdfplumber實(shí)現(xiàn)讀取PDF寫(xiě)入Excel,需要的可以參考一下
    2022-06-06
  • python 監(jiān)測(cè)內(nèi)存和cpu的使用率實(shí)例

    python 監(jiān)測(cè)內(nèi)存和cpu的使用率實(shí)例

    今天小編就為大家分享一篇python 監(jiān)測(cè)內(nèi)存和cpu的使用率實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Python爬取附近餐館信息代碼示例

    Python爬取附近餐館信息代碼示例

    這篇文章主要介紹了Python爬取附近餐館信息代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12

最新評(píng)論