我正在使用Tkinter在python中创建我的GUI,并且我遇到了调整大小问题。我正在使用网格布局机制,我的文本小部件的宽度设置为100,有没有办法计算可以适应屏幕的字符数?这样我就可以在启动时将宽度设置为这个数字并且"拉伸"我的文本元素到这个数字。 是否有一些已知的数字,其中一个字符就像10px那样我们可以将屏幕分辨率的宽度除以10,那就是适合屏幕的数字?
答案 0 :(得分:1)
严格来说,您应该尝试使您的GUI适应环境而不是相反。因此,您应该使文本小部件具有适当的包装(字符包装或自动换行)或关闭包装并在其上放置水平滚动条。完成后,您可以最大化整个窗口,事情(好吧,应该;它取决于正确的布局说明)只是适应。
但是如果你想以另一种方式做到这一点,请获取你想要进行测量的字体(因为所有字体都不同,字体大小很明显很重要)并使用它的measure
method来弄清楚事物有多宽。理想情况下,您将测量真实文本(这对于可变宽度字体很重要)但如果您不知道它,您可以改为生成一串重复的0
字符并进行测量。 (我建议0
,因为这是Tk在没有更好选择的情况下内部使用的“默认”字符,宽度在i
和M
之间字体;您也可以使用相同的想法。)