一個如何自動調整文本控件,以適應文本控件的高度自動調整文本組件的高度,以適合所有文本
- 不會有任何
\n
OM文本組件,而不是文本將換行(全字)周圍並繼續下去。wrap=WORD
這怎麼辦?
我快到問題陳述的想法:我想知道是否有可能每一個文本在文本組件纏時間來算,並通過給定值不知何故計算文本組件的高度? - 只是一個想法..我不知道是否有可能。
**爲什麼這是不是重複**
這不是重複,鏈接到你要求它,如果你認爲這樣的重複問題。他們都實現了一個解決方案,在該解決方案中,它在文本小部件的每個按鍵中檢查'\ n'。我的文本小部件根本沒有任何'\ n'。但是將這些詞包裹起來!
這不是我正在尋找的解決方案,因爲它正在尋找'\ n'並相應地改變它的高度以找到它們的數量。由於我不會使用任何'\ n',而是將這些字詞包裝起來(Text(frame, wrap=WORDS)
),否則'n不會出現使該解決方案無法使用!'
這就是爲什麼此代碼來自問題人聲明這就是,無須改正這個問題重複,這不是重複
不會解決我的問題,因爲它會查找「\ n」的。
import Tkinter
class TkExample(Tkinter.Frame):
def __init__(self, parent):
Tkinter.Frame.__init__(self, parent)
self.init_ui()
def init_ui(self):
self.pack()
text_box = Tkinter.Text(self)
text_box.pack()
text_box.bind("<Key>", self.update_size)
def update_size(self, event):
widget_width = 0
widget_height = float(event.widget.index(Tkinter.END))
for line in event.widget.get("1.0", Tkinter.END).split("\n"):
if len(line) > widget_width:
widget_width = len(line)+1
event.widget.config(width=widget_width, height=widget_height)
if __name__ == '__main__':
root = Tkinter.Tk()
TkExample(root)
root.mainloop()
編輯例如
這是reas爲什麼我不使用消息小部件,他們不重新排列文本以填充文本小部件。
這不是重複的,如果您認爲如此,您聲稱它是重複的問題的鏈接。他們都實現了一個解決方案,在該解決方案中,它在文本小部件的每個按鍵中檢查'\ n'。我的文本小部件根本沒有任何'\ n'。但是將這些詞包裹起來! – Bjango
是不是有沒有使用標籤或消息小部件的原因?你需要用戶編輯文本的能力嗎? –
我沒有使用消息窗口小部件,因爲它們不會重新排列文本以填充窗口小部件的水平視圖,正如您在「編輯示例」中所看到的,我剛更新了我的問題。我不使用標籤的原因應該很清楚。 – Bjango