【发布时间】:2020-01-29 01:53:58
【问题描述】:
建议:我在 Windows 8.1 上工作,最后一个版本是 Python 和 Tkinter;我写了from tkinter import * 在这里发布更少的代码,我知道这是一个不好的做法,例如使用import tkinter as tk 代替。
我正在编写我的第一个文本编辑器,但我在调整主窗口大小时遇到了问题。当我运行程序时,它会在屏幕上显示一个尺寸为 750x500 像素的窗口。到目前为止,一切正常,我可以毫无问题地编写文本(请注意,menu_bar 和其他功能正在开发中,但我们不关心它们)。当用户尝试使用光标调整窗口大小时,文本小部件出现问题。文本的内容实际上适应了窗口的大小(每个字符串的长度根据窗口的宽度减少或增加)。但我不希望这种情况发生。我希望 Text 小部件根据窗口大小自动更改其宽度,但不得调整内容。我希望您理解我的问题,如果没有,我会尝试更好地解释。 如果有设置此选项的参数,我已经搜索了在线参考,但我没有找到任何东西。
如何解决Text小部件和调整窗口大小的问题?
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()
【问题讨论】:
-
请将此代码缩减为minimal reproducible example。例如,除非部分问题涉及剪切和粘贴文本,否则我们不需要
cut、copy、paste、undo和redo函数。我们也不需要菜单栏。 -
好的,我正在这样做
标签: python tkinter text resize