【问题标题】:Measure the height of a string in Tkinter Python?在 Tkinter Python 中测量字符串的高度?
【发布时间】:2018-07-21 11:18:03
【问题描述】:

我需要 Tkiner 小部件中字符串的像素高度。它是Listbox 的一行中的文本。

我知道我可以用tkinter.font.Font.measure 测量字符串的宽度。但是我怎样才能得到高度? similar question 仅对宽度进行主题化,而不对高度进行主题化。

【问题讨论】:

  • @Nae 这个只处理高度而不是高度。
  • 我认为这不是真的。它确实声称显示高度宽度。
  • @Nae 我不同意。检查答案的代码。请给我一个行号或其他提示。
  • 答案就在问题中。 :D
  • 见第 11 行。

标签: python python-3.x tkinter


【解决方案1】:

这样就可以了。

tkinter.font.Font(font='TkDefaultFont').metrics('linespace')

【讨论】:

    【解决方案2】:
    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()
    

    另请注意,单行字符串的高度不取决于其长度,而仅取决于其在特定环境中的字体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 2019-01-14
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 2021-11-10
      相关资源
      最近更新 更多