亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

pythonGUI多列輸入文本Text的完成

89542767 / 610人閱讀

  此篇文章主要是詳細(xì)介紹了pythonGUI多列輸入文本Text的控制方式,具有非常好的實(shí)用價(jià)值,希望能幫助到大家。如有誤或者未考慮到真正的地區(qū),望鼎力相助


  Text的屬性wrap


  fromtkinterimport*
  root=Tk()
  root.geometry('200x300')
  te=Text(root,height=20,width=15)
  #將多列輸入文本放進(jìn)(pack)對(duì)話框中
  te.pack()
  #持續(xù)打開程序
  root.mainloop()

01.png

  這一輸入框相對(duì)高度為20,總寬為15,單位是標(biāo)識(shí)符。能夠看見當(dāng)每排具體內(nèi)容不能超過(guò)15標(biāo)識(shí)符,持續(xù)鍵入就會(huì)發(fā)現(xiàn),當(dāng)所輸入具體內(nèi)容超出20行,輸入框就會(huì)自動(dòng)提升新型用以鍵入新具體內(nèi)容。


  換句話說(shuō),在沒有任何明確規(guī)定的情形下,在多列文本輸入時(shí),內(nèi)容包括沒有限制的,可是每排能鍵入是多少標(biāo)識(shí)符也是有限定。


  自然每排能輸入具體內(nèi)容也可以不用受限制,這時(shí)候就要提到wrap特性。


  wrap和Label和Button的wraplength屬性有區(qū)別的。wraplength是為了能徹底表明標(biāo)識(shí)或按鍵的文本信息,而做出多列表明。而Text的具體內(nèi)容能夠完全表明,wrap取不同類型的值。表明的形式不同。


  wrap能夠有三大值:NONE、WORD、CHAR。


  #其他的部份上邊的相同,僅僅加了一個(gè)wrap特性
  te=Text(root,height=20,width=15,wrap=NONE)

  

02.png

       相對(duì)高度和總寬或是20、15,只不過(guò)是屬性wrap的數(shù)值NONE。那樣的話,在沒有任何手動(dòng)式自動(dòng)換行的現(xiàn)象,每排能夠持續(xù)輸入字符。假如向輸入框放進(jìn)文件信息,例如text、word文件,多列輸入框中每排內(nèi)容與文檔里面的內(nèi)容相同。


  #wrap=CHAR
  te=Text(root,height=20,width=15,wrap=CHAR)

03.png

  #wrap=WORD
  te=Text(root,height=20,width=15,wrap=WORD)

  

04.png

       上邊就是wrap數(shù)值WORD和CHAR的差別。能夠看見數(shù)值WORD時(shí),輸入框會(huì)確保標(biāo)識(shí)符的完好性,而數(shù)值CHAR的時(shí)候不會(huì)。二者,每排都是會(huì)控制在15字符,只不過(guò)是自動(dòng)換行時(shí)的形式不同。


  當(dāng)輸入框具體內(nèi)容較多時(shí),可以利用下拉列表來(lái)訪問(wèn)具體內(nèi)容。有豎直下拉列表、水準(zhǔn)下拉列表。


  設(shè)定豎直下拉列表


  想要的結(jié)果:在我們滾動(dòng)豎直滾條時(shí),文本信息也隨之左右變化。


  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:UsersAdministratorDesktop杜甫.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()

  效果圖示

05.png

  創(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: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()

  效果圖示

06.png

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


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

07.png

  綜上所述,這篇內(nèi)容就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/129040.html

相關(guān)文章

  • pythonGUI多做輸入文本Text完成

      文章主要是詳細(xì)介紹了pythonGUI多做輸入文本Text的控制方式,具有非常好的實(shí)用價(jià)值,希望能幫助到大家。如有誤或者未考慮到真正的地區(qū),望鼎力相助  Text的屬性wrap  fromtkinterimport*   root=Tk()   root.geometry('200x300')   te=Text(root,height=20,width=15)   #將多做輸...

    89542767 評(píng)論0 收藏0
  • 簡(jiǎn)單實(shí)現(xiàn)登陸注冊(cè)gui界面以及打包成exe文件

    摘要:圖標(biāo)解決了,程序代碼編寫好了,接下來(lái)就是最最重要的軟件打包環(huán)節(jié)了。在此,我們用打包,這是一個(gè)用于打包軟件的第三方庫(kù)。 新建一個(gè)data.txt文件。存用戶名和密碼 #!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjam...

    jone5679 評(píng)論0 收藏0
  • CSS 常用定位和布局方法匯總(已添加源碼地址)

    CSS-Layout 旨在打造詳盡的前端布局代碼學(xué)習(xí)庫(kù)(自從用了框架開發(fā),CSS生疏了不少,所以開這個(gè)庫(kù)練練手)SF不能正確解析含有中文的網(wǎng)址,所以某些預(yù)覽鏈接無(wú)法跳轉(zhuǎn),請(qǐng)?jiān)L問(wèn)我的博客閱讀此文 常見定位方法 水平居中 子元素為行內(nèi)元素還是塊狀元素,寬度一定還是寬度未定,采取的布局方案不同。 方案選擇基本思路:子元素為 行內(nèi)元素:對(duì)父元素設(shè)置text-align:center; 定寬塊狀元素: 設(shè)...

    loonggg 評(píng)論0 收藏0
  • 頁(yè)面布局解決方案

    摘要:頁(yè)面布局解決方案居中布局水平居中子元素相對(duì)于父元素居中且子元素寬度可變。優(yōu)點(diǎn)兼容性好支持,以下版本需要調(diào)整頁(yè)面結(jié)構(gòu)至優(yōu)點(diǎn)絕對(duì)定位脫離文檔流,不會(huì)對(duì)后續(xù)元素的布局造成影響。下面列出了兩種布局方案,草案并不穩(wěn)定,瀏覽器支持也并不理想。 頁(yè)面布局解決方案 居中布局 水平居中 子元素相對(duì)于父元素居中且子元素寬度可變。 除了另外聲明,HTML結(jié)構(gòu)為以下內(nèi)容: Demo inline-...

    XiNGRZ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<