繁体   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