I can do the measure of text with tkFont, but I don't want a root window --> tk.Tk()
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You did mean to ask: “How can I measure the width of a string rendering via tkFont
without creating a window first?”
An the answer is: you can’t. Tk needs it’s root instance to do drawing and such.
you can however create it, measure your text, and immediately dispose it via .delete()
. This is so fast that the window doesn’t appear for me.
回答2:
Now I have this, and it works
root = tk.Tk()
font = tkFont.Font(family=fn, size=fs)
w, h = (font.measure(text), font.metrics("linespace"))
root.destroy()