Гибкие шрифты в стиле 'em' с wxPython - PullRequest
4 голосов
/ 04 августа 2009

Я ищу способ представления гибкого шрифта, который будет увеличиваться и уменьшаться в размере в зависимости от размера разрешения экрана. Я хочу быть в состоянии сделать это без класса окна HTML. Есть ли способ? Я думал, что я довольно много гуглил без успеха.

EDIT Это хороший вопрос, я изменил название, чтобы отразить то, что искал.

EDIT

Итак, теперь я понял, что обычные размеры в пикселях будут масштабироваться так, как я уже упоминал, - но я видел это на днях и понял, что может быть полезно, если кто-то захочет использовать CSS со своими приложениями wxPython - это библиотека это позволяет вам «обшарить» ваше приложение, и я уже могу придумать десятки изящных способов его использования - вот ссылка вместо более продуманного вопроса:)

текст ссылки

1 Ответ

1 голос
/ 07 августа 2009

Может как то так? Таким способом вы можете масштабировать любое окно 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()
...