灵活';em';使用wxPython设置字体样式

灵活';em';使用wxPython设置字体样式,python,fonts,wxpython,font-size,Python,Fonts,Wxpython,Font Size,我正在寻找一种方法来呈现一种灵活的字体,它将根据屏幕分辨率的大小增减大小。我希望在没有HTML窗口类的情况下能够做到这一点。有办法吗?我想我已经在谷歌上搜索了很多次,但都没有成功 编辑 这似乎是一个很好的问题,我改变了标题,以反映更接近我所寻找的 编辑 所以现在我意识到,常规像素大小将以我前面提到的方式进行缩放-但我前几天看到了这一点,并意识到如果有人想在wxPython应用程序中使用CSS可能会有所帮助-这是一个库,允许您对应用程序进行“蒙皮”,我可以想出十几种简洁的方法来使用它-这里是而不是

我正在寻找一种方法来呈现一种灵活的字体,它将根据屏幕分辨率的大小增减大小。我希望在没有HTML窗口类的情况下能够做到这一点。有办法吗?我想我已经在谷歌上搜索了很多次,但都没有成功

编辑 这似乎是一个很好的问题,我改变了标题,以反映更接近我所寻找的

编辑

所以现在我意识到,常规像素大小将以我前面提到的方式进行缩放-但我前几天看到了这一点,并意识到如果有人想在wxPython应用程序中使用CSS可能会有所帮助-这是一个库,允许您对应用程序进行“蒙皮”,我可以想出十几种简洁的方法来使用它-这里是而不是一个经过深思熟虑的问题:)


也许是这样的?您可以用这种方式缩放任何wx.窗口。不确定这是否正是你的意思

import wx

def scale(widget, percentage):
    font = widget.GetFont()
    font.SetPointSize(int(font.GetPointSize() * percentage / 100.0))
    widget.SetFont(font)

class Frame(wx.Frame):
    def __init__(self):
        super(Frame, self).__init__(None, -1, 'Scaling Fonts')
        panel = wx.Panel(self, -1)
        sizer = wx.BoxSizer(wx.VERTICAL)
        for i in range(50, 201, 25):
            widget = wx.StaticText(panel, -1, 'Scale Factor = %d' % i)
            scale(widget, i)
            sizer.Add(widget, 0, wx.ALL, 5)
        panel.SetSizer(sizer)

if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = Frame()
    frame.Show()
    app.MainLoop()

我想我的意思是根据框架区域的大小调整字体大小。。因此,在大小事件中,字体会以灵活的布局收缩。但不是因为你看不懂。。现在你指出了我问题的模糊性,我突然遇到了麻烦:)我实际上试图修改代码,因为我是认真的,然后意识到我不知道我的意思。给我一点时间,我会再编辑一点这个问题。现在我再次看这个问题,我意识到它对我来说不再有意义,我不确定我在想什么。wx小部件集上的字体大小以像素为单位,设计为与查看设备分辨率成比例缩放。所以默认值已经在做我所说的事情了我想我的意思可能是我想让字体像Sizer wxGROW和flex那样“增长”到它们的包含区域,但我也不知道我为什么要这样做。谢谢你尝试一下我想做的事情!如果有人在包含文本小部件的sizer上使用wxGROW标记,它可能会显示我提到的行为