python - 查找 tkinter.Text 小部件的当前大小

标签 python python-3.x tkinter

我正在尝试使用文本小部件创建一个 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/

相关文章:

python - PyTorch |使用数据集 Omniglot 获取 "RuntimeError: Found dtype Long but expected Float"

python - Django 关于删除的多对多关系

python - 如何在Python中动态创建方法(名称+代码)

事件 OOPS 实现后的 Python Tkinter

python - Tkinter 中的非阻塞信息对话框

python - Tkinter.grid 间距选项?

python - 如何使用 Python 发送带有 .csv 附件的电子邮件

python - 从 DataFrame、Pandas、Python 创建字典

python - flask 。应用工厂测试

python - 如果循环 all() any() 就卡在 pandas 里了?