如何获取字符串的宽度(以像素为单位)?

MA1*_*MA1 10 python wxpython

我正在使用wxPython的HyperTreeList,我想将列宽设置为完全等于其中最大字符串的长度.

为了实现这一点,我想将python字符串大小转换为像素.

例如:如果我们有一个字符串

str = "python"
len(str) = 6
Run Code Online (Sandbox Code Playgroud)

我怎么能将上面的字符串长度/大小转换为像素?

还有另外一种方法吗?

Est*_*ber 13

你必须做的事情 一样(见的wxWidgets的文档获取更多信息)

f = window.GetFont()
dc = wx.WindowDC(window)
dc.SetFont(f)
width, height = dc.GetTextExtent("Text to measure")
Run Code Online (Sandbox Code Playgroud)


luc*_*luc 10

这取决于您打印文本的方式.

您可能感兴趣的是PIL ImageDraw哪种textsize方法.见http://effbot.org/imagingbook/imagedraw.htm

更新:这是回答原始问题.问题更新后,它可能看起来有点偏离主题.