我正在尝试使用文本小部件创建一个 Roguelike 游戏。
我已经弄清楚了一些事情,即我可以使用宽度和高度选项设置小部件的大小,并且我可以找到所述小部件的像素高度或宽度。但是,我想要做的是让小部件可调整大小(pack(expand =“yes”,fill =“both”)),但能够在调整大小时刷新显示的文本。有没有办法在小部件运行时获取字符尺寸,而无需借助 winfo_width() 和基于字符像素尺寸的数学?
最佳答案
我已经多次遇到同样的问题了,据我所知,没有办法找到字符串的宽度。实际上唯一的方法是使用 winfo_ 命令:宽度、高度、几何形状。但是,听起来您只是想确保在更改标签并添加更多文本时显示所有文本。如果是这样的话,您不必担心。这一切都应该由小部件本身来处理。如果您没有看到它们展开以显示所有标签,则通常意味着包含该标签的小部件之一未设置为展开(使用 .pack 的 Expand=YES 或使用 columnconfigure(i, Weight=1) 进行展开) 。网格)。
最后一个想法;在包参数中确保它是 YES
,而不是 "yes"
。大写的 YES 不是字符串,而是 Tkinter 定义的变量名。
关于python - 查找 tkinter.Text 小部件的当前大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288554/