我正在使用wxPython的HyperTreeList,我希望将列宽度设置为其中最长字符串的长度。
为了实现这一点,我想将python字符串大小转换为像素。
例如:如果我们有一个字符串
str = "python"
len(str) = 6
如何将上述字符串长度/大小转换为像素?
还有其他方法吗?
我正在使用wxPython的HyperTreeList,我希望将列宽度设置为其中最长字符串的长度。
为了实现这一点,我想将python字符串大小转换为像素。
例如:如果我们有一个字符串
str = "python"
len(str) = 6
如何将上述字符串长度/大小转换为像素?
还有其他方法吗?
这取决于您如何打印文本。
您可能会对 PIL ImageDraw
感兴趣,它具有 textsize
方法。请参见http://effbot.org/imagingbook/imagedraw.htm
更新:这是回答原始问题的,随着问题的更新,它可能看起来有点离题。
这不是我的解决方案,我只是将其传递下去,因为我发现它在程序环境中非常有用,可以缩减为仅3行。Python3.9 Mac OS
from tkinter import *
from tkinter import font as W1
FW=Tk() ; FW.withdraw() # a must but don't need a window
Text ='1234567890'
def LENGTH(Text) :
W2 = W1.Font(family='Comicsans' , size = 20)
length = W2.measure(Text)
print(length)
LENGTH(Text)