Python Tkinter计算适合整个屏幕的字符数
我正在使用Tkinter用python创建GUI,遇到了一个调整大小的问题。我使用的是网格布局机制,我的文本窗口小部件的宽度设置为100,有没有办法计算屏幕上可以容纳的字符数?因此,我可以在启动时将宽度设置为这个数字,并将文本元素“拉伸”到这个数字。Python Tkinter计算适合整个屏幕的字符数,python,python-3.x,tkinter,tk,Python,Python 3.x,Tkinter,Tk,我正在使用Tkinter用python创建GUI,遇到了一个调整大小的问题。我使用的是网格布局机制,我的文本窗口小部件的宽度设置为100,有没有办法计算屏幕上可以容纳的字符数?因此,我可以在启动时将宽度设置为这个数字,并将文本元素“拉伸”到这个数字。 如果一个字符的宽度是10px,那么我们可以将屏幕分辨率的宽度除以10,这就是适合整个屏幕的数字吗?严格来说,您应该尝试使GUI适应环境,而不是反过来。因此,您应该使文本小部件具有适当的换行(字符换行或单词换行),或者关闭换行并在其上放置水平滚动条。
如果一个字符的宽度是10px,那么我们可以将屏幕分辨率的宽度除以10,这就是适合整个屏幕的数字吗?严格来说,您应该尝试使GUI适应环境,而不是反过来。因此,您应该使文本小部件具有适当的换行(字符换行或单词换行),或者关闭换行并在其上放置水平滚动条。这样,你就可以最大化整个窗口,事情就会(好吧,应该;这取决于布局说明是否正确)适应
但是如果你想用另一种方法来测量,那么就用你想要测量的字体(因为所有的字体都不同,字体大小很重要),然后用它来计算物体的宽度。理想情况下,您可以测量真实文本(对于可变宽度字体来说,这非常重要),但如果您不知道,您可以制作一个重复的
0
字符字符串并测量它。(我建议使用0
,因为这是Tk在没有更好选择的情况下在内部使用的“默认”字符,大多数字体的宽度介于I
和M
之间;您也可以使用相同的想法。)取决于字体。在大多数字体中,不同的字符大小不相同(如此字体),除非您使用单间距字体(如此字体)
我使用的是默认字体,我没有更改它,也不打算更改它。请看。似乎有一个measure
函数来确定给定字体中某个文本的宽度。谢谢,我终于找到了如何使用框架来实现这一点。因此,现在文本小部件成功地调整了大小。