[英]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.