簡體   English   中英

Tkinter:禁用文本小部件內容自動調整大小(換行符),當用戶調整 window

[英]Tkinter: disable text widget content auto resize (newline), when user resize window

建議:我正在研究 Windows 8.1,最后一個版本是 Python 和 Tkinter; from tkinter import *寫到在這里發布更少的代碼,我知道這是一種不好的做法,例如使用import tkinter as tk代替。

我正在編寫我的第一個文本編輯器,當我調整主 windows 的大小時出現問題。 當我運行程序時,它會在屏幕上顯示尺寸為 750x500 像素的 window。 到目前為止,一切正常,我可以毫無問題地編寫文本(請注意,menu_bar 和其他功能正在開發中,但我們不關心它們)。 當用戶嘗試使用 cursor 調整 window 的大小時,文本小部件出現問題。 文本內容實際上適應了 window 的大小(每個字符串的長度根據窗口的寬度減少或增加)。 但我不希望這種情況發生。 我希望 Text 小部件以 window 大小為基礎自動更改其寬度,但不得調整內容。 我希望您理解我的問題,如果沒有,我會嘗試更好地解釋。 如果有設置此選項的參數,我已經搜索了在線參考,但我沒有找到任何東西。

如何解決有關文本小部件和調整 window 大小的問題?

from tkinter import *

root = Tk()

root.geometry("750x500")

content_text = Text(root, wrap=WORD, bg="grey25", undo=True, cursor="",
                    insertbackground="red", foreground="white", font="courier 12")
content_text.pack(fill=BOTH, expand=True)

scroll_bar = Scrollbar(content_text)
content_text.configure(yscrollcommand=scroll_bar.set, selectbackground="dodgerblue")
scroll_bar.configure(command=content_text.yview)
scroll_bar.pack(side=RIGHT, fill=Y)

if __name__ == '__main__':
    root.mainloop()

你不能做你想做的事。 如果您打開了換行,文本將始終在 window 的邊緣換行。 當您更改 window 的寬度時,文本將重新換行到新的寬度。 沒有配置選項可以告訴小部件在任何其他地方包裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM