4

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

编辑 这似乎是一个好问题,我更改了标题以更接近地反映我正在寻找的内容。

编辑

所以现在我已经意识到常规像素大小将按照我已经提到的方式缩放 - 但我前几天看到了这一点并意识到如果有人想在他们的 wxPython 应用程序中使用 CSS 可能会有所帮助 - 它是一个允许你的库'剥皮'你的应用程序,我已经可以想到十几种巧妙的方法来使用它 - 这是一个链接,而不是一个经过深思熟虑的问题:)

链接文本

4

1 回答 1

1

也许是这样的?您可以通过这种方式缩放任何 wx.Window。不确定这是否正是您的意思。

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()
于 2009-08-07T19:49:59.370 回答