Как получить ширину строки в пикселях?

Я использую wxPython HyperTreeList, и я хочу установить ширину столбца точно равной длине самой большой строки в ней.

Чтобы это сделать, я хотел бы преобразовать размер строки python в пиксели.

Например: если у нас есть строка типа

str = "python"
len(str) = 6

Как преобразовать указанную длину строки/размер в пиксели?

Есть ли другой способ?

Ответ 1

Вам нужно будет что-то как ( см. документацию wxWidgets для получения дополнительной информации)

f = window.GetFont()
dc = wx.WindowDC(window)
dc.SetFont(f)
width, height = dc.GetTextExtent("Text to measure")

Ответ 2

Это зависит от того, как вы печатаете текст.

Вас может заинтересовать PIL ImageDraw, который имеет метод textsize. См. http://effbot.org/imagingbook/imagedraw.htm

Обновление: это ответ на исходный вопрос. После обновления вопроса может показаться немного не по теме.