2011-03-21 87 views
0

如何根據窗口標題長度計算並設置基於窗口標題長度的tkinter.Frame衍生窗口的寬度? 也就是說,有人可以幫我用width = ??? -expression在下面的代碼? (心知肚明的結果取決於字體被使用,系統按鈕等)根據標題長度計算tkinter窗口寬度

在此先感謝 /哈拉爾

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

你不能這樣做基於窗口的標題。顯示器(以及寬度)由窗口管理器控制。你可以做到這一點的唯一方法是,如果你確定標題欄中正在使用什麼字體。在這種情況下,您可以使用字體對象的measure1方法來計算該特定字體中字符串的寬度。即使是這樣,你也需要知道窗口管理器可能會使用哪些額外的裝飾並對此進行解釋,而這對每個窗口管理器都是不同的。