Гибкие шрифты в стиле "em" с помощью wxPython
Вопрос
Я ищу способ представить гибкий шрифт, который будет увеличиваться и уменьшаться в размере в зависимости от размера разрешения экрана.Я хочу иметь возможность делать это без класса HTML window.Есть ли какой-нибудь способ?Мне казалось, я довольно долго гуглил, но безуспешно.
Редактировать Это кажется хорошим вопросом, я изменил название, чтобы оно ближе отражало то, что я искал.
Редактировать
Итак, теперь я понял, что обычные размеры пикселей будут масштабироваться так, как я уже упоминал - но я увидел это на днях и понял, что это может быть полезно, если кто-то захочет использовать CSS в своих приложениях wxPython - это библиотека, которая позволяет вам "скинуть" ваше приложение, и я уже могу придумать дюжину удобных способов его использования - вот ссылка вместо более продуманного вопроса :)
Решение
Может быть, что-то вроде этого?Таким образом, вы можете масштабировать любое 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()