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