問題很簡單,滾動文本框將用阿拉伯語寫入其中。所以每當我在框的右側輸入它們的無屬性時,我都需要對齊文本,例如justify我也使用了標簽,但我不能這樣做
show_note = scrolledtext.ScrolledText(canvas, width=int(monitorWidth / 65), height=int(monitorHeight / 130),
font=("Times New Roman", 14))
canvas.create_window(cord(0.45, 0.65), window=show_note, anchor="ne")
它們是否可以替代滾動文本但具有這些屬性(寬度、高度、對齊并且可以寫入多行)?
uj5u.com熱心網友回復:
我做了一些搜索,找不到任何其他方法來做到這一點,除了將每個按鍵系結到一個函式,該函式添加/編輯標簽以從文本框中選擇所有專案:
from tkinter import *
from tkinter import scrolledtext
root = Tk()
def tag(e):
text.tag_add('center','1.0','end')
text = scrolledtext.ScrolledText(root)
text.pack()
text.tag_config('center',justify='right')
text.bind('<KeyRelease>',tag)
root.mainloop()
您還可以制作執行此操作的自定義小部件,而不是為每個檔案重復代碼,因此更好的形式是:
from tkinter import *
from tkinter import scrolledtext
root = Tk()
class JustifyText(scrolledtext.ScrolledText):
def __init__(self,master,*args,**kwargs):
scrolledtext.ScrolledText.__init__(self,master,*args,**kwargs)
self.tag_config('center',justify='right')
self.bind('<KeyRelease>',self.tag)
def tag(self,e):
text.tag_add('center','1.0','end')
text = JustifyText(root)
text.pack()
root.mainloop()
是的,您可以通過獲取文本框的當前寬度并將插入游標移動到該點來使其從該點開始,從而使其更加完美。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/340149.html
標籤:蟒蛇-3.x 特金特 文本 tkinter-entry tkinter 滚动文本
