我需要Tkiner小部件中字符串像素的高度。它是Listbox
的行中的文本。
我知道我可以使用tkinter.font.Font.measure
来衡量字符串的宽度。但是我怎样才能达到高度?
similar question只有宽度而不是高度。
答案 0 :(得分:3)
这样就可以了。
tkinter.font.Font(font='TkDefaultFont').metrics('linespace')
答案 1 :(得分:3)
tkf.Font(font=widget['font']).metrics('linespace')
给出给定小部件字体的高度(
)try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
import tkinter.font as tkf
except ImportError:
import Tkinter as tk
import tkFont as tkf
if __name__ == '__main__':
root = tk.Tk()
widget = tk.Label(root, text="My String")
widget.pack()
print(tkf.Font(font=widget['font']).metrics('linespace'))
tk.mainloop()
另请注意,单行字符串的高度不依赖于其长度,而只取决于特定环境中的字体。