【发布时间】:2021-04-11 09:25:59
【问题描述】:
当我遇到这个问题时,我最近正在编写一个小型 Python 脚本。我试图创建一个条形的画布并将文本写入其中,期望文本会自动调整到画布的边界(类似于文本框在文字处理软件中的工作方式)。但是文本显然超出了界限。
屏幕截图
代码
from tkinter import *
top = Tk()
top.geometry("130x370")
c = Canvas(top,bg = "pink",height = "370")
c.create_text(30,30,fill="darkblue",font="Times 20 italic bold",text="Hey There!")
c.pack()
top.mainloop()
【问题讨论】:
-
你真的需要使用
Canvas吗?Text小部件自动换行。 -
澄清一下:您实际上并不想resize 文本(更改字体大小)而是wrap 文本,对吗?如果有的话,您不使用文本字段的原因是什么?如果画布完全“满”(垂直),它应该如何表现?
-
好吧,我不确定文本字段是否能正确完成这项工作,如果画布垂直填满,则应调整整个文本的大小以适合画布。只需将其视为将文本作为输入并打印到自定义大小的图像上的应用程序。