Python 如何获得以像素为单位的字符串宽度?

Python 如何获得以像素为单位的字符串宽度?,python,wxpython,Python,Wxpython,我正在使用wxPython的超级卷轴列表,我想将列宽设置为正好等于其中最大字符串的长度 为了实现这一点,我想将python字符串大小转换为像素 例如:如果我们有一个字符串 str = "python" len(str) = 6 如何将上述字符串长度/大小转换为像素 还有其他方法吗?这取决于您打印文本的方式 您可能对具有textsize方法的PIL ImageDraw感兴趣。看 更新:这是对原始问题的回答。问题更新后,它可能看起来有点离题。您必须这样做(有关更多信息,请参阅) 以像素为单位的大小

我正在使用wxPython的超级卷轴列表,我想将列宽设置为正好等于其中最大字符串的长度

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

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

str = "python"
len(str) = 6
如何将上述字符串长度/大小转换为像素


还有其他方法吗?

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

您可能对具有
textsize
方法的
PIL ImageDraw
感兴趣。看

更新:这是对原始问题的回答。问题更新后,它可能看起来有点离题。

您必须这样做(有关更多信息,请参阅)


以像素为单位的大小取决于用于显示字符串的字体以及用于渲染字体的图形工具包。在我们帮助您之前,您必须向我们提供更多信息。我正在使用wxPython Hyperfleelist,我希望将列宽设置为正好等于列值的长度。实际上,我想将列大小调整为列中最大字符串值的大小。使用GetColumnFont获得正确的字体,使用GetTextExtent获得宽度请解释下一票。仅供参考,最初的答案并没有说它是为WxPython设计的。我应该删除这个答案吗?+1对不起,没有看到原始的未编辑问题,你的答案当时是有意义的。
f = window.GetFont()
dc = wx.WindowDC(window)
dc.SetFont(f)
width, height = dc.GetTextExtent("Text to measure")