#! /usr/bin/env python3

import wx

class MainFrame(wx.Frame):
    def __init__(self, *args, **kw):
        super().__init__(*args, **kw)
        pnl = wx.Panel(self)
        st = wx.StaticText(pnl, label="Hello World!")
        print("Creation:", st.Size, st.BestSize, st.MinSize, st.MaxSize)
        font = st.GetFont()
        font.PointSize += 10
        font = font.Bold()
        st.SetFont(font)
        # Things I've tried here:
        #st.SetLabel("Hello World!")
        #st.SetSize(-1, -1)
        #st.Fit()
        print("Unadjusted size:", st.Size, st.BestSize, st.MinSize, st.MaxSize,
              st.GetTextExtent(st.Label))
        st.SetSize(st.GetTextExtent(st.Label))
        print("Adjusted size:", st.Size, st.BestSize, st.MinSize, st.MaxSize,
              st.GetTextExtent(st.Label))


if __name__ == '__main__':
    app = wx.App()
    frm = MainFrame(None, title='Hello World')
    frm.Show()
    app.MainLoop()
