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

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

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

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

str = "python"
len(str) = 6

Как я могу преобразовать строку выше длина/размер в пикселях?

есть другой способ?

2 ответов


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

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

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

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

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