根据标题长度计算tkinter窗口宽度

时间:2011-03-21 10:15:24

标签: python tkinter

如何根据窗口的标题长度计算和设置tkinter.Frame派生窗口的宽度? 也就是说,有人可以帮我解决下面代码中的 width = ??? - 表达式问题吗? (知道结果取决于使用的字体,系统按钮等)

提前致谢 /哈拉尔德

import Tkinter as tkinter #Python 2

class MyFrame(tkinter.Frame):
    def __init__(self, title, *args, **kw):
        tkinter.Frame.__init__(self, *args, **kw)
            # Calculate the frame width ensuring that the entire title is shown
            # using len(title)
            width = ???
            self.master.config(width = width)
            self.master.title(title)

mf = MyFrame("Some Frame Title")
mf.mainloop()

1 个答案:

答案 0 :(得分:0)

您无法根据窗口标题执行此操作。显示(以及宽度)由窗口管理器控制。唯一可以做到这一点的方法是,如果您确定标题栏中使用了什么字体。在这种情况下,您可以使用字体对象的measure1方法来计算该特定字体的字符串宽度。即便如此,您还需要了解窗口管理器可能使用的额外装饰并考虑到这一点,这对于每个窗口管理器都是不同的。