tkinter窗口不够宽,无法显示窗口标题

时间:2016-02-08 15:51:14

标签: python tkinter root title

是否有'标准'方法确保显示的窗口足够宽以显示窗口标题?

import tkinter as tk
root = tk.Tk()
root_f = tk.Frame(root)
root.title('Long Window Title Containing Much Text')
text_f = tk.Frame(root_f)
text_l = tk.Label(text_f, text='Short text')

root_f.grid()
text_f.grid()
text_l.grid()

root.geometry('+{}+{}'.format(100, 100))
root.mainloop()
root.quit()

当我使用winfo方法获取根(或文本)帧的宽度时,它们给出文本的大小而不是窗口大小足以显示整个窗口标题。

我知道它必须是简单的,但我看不到它。

由于

1 个答案:

答案 0 :(得分:0)

不,没有标准的方法。 Tkinter无法知道标题栏上的标题有多长。操作系统/窗口管理器完全控制窗口的那一部分,并且不会暴露任何与平台无关的获取信息的方式。

您不仅需要知道操作系统用于窗口标题的字体,还要知道标题区域中是否有任何其他装饰(例如:按钮,图像等)。

如果您认为字体与默认的tkinter字体相同,那么您可以使用tkinter的能力来测量给定字体中字符串的长度{{1字体对象的方法。