我的程序面板适合低分辨率。就像我的分辨率为800 x 600,而且我的面板比这大,所以一切都被切断了,特别是屏幕底部的按钮。
所以,我以模拟程序为例:
import wx
MAIN_FRAME_SIZE = (190, 150)
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, id = -1, title = 'Hello, World!', size = MAIN_FRAME_SIZE)
vertBox = wx.BoxSizer(wx.VERTICAL)
staticText = wx.StaticText(self, label = 'Hello, World!')
vertBox.Add(staticText, 0, wx.ALL, 40)
self.SetSizer(vertBox)
if __name__ == '__main__':
app = wx.App()
frame = MainFrame()
frame.Show(True)
app.MainLoop()
那么,那么我的问题是如何制作'Hello,World!'当MainFrame变大时,文字会变大,当MainFrame变小时我该怎么做?
感谢。
答案 0 :(得分:1)
您可以使用一些启发式方法根据帧大小选择字体大小,或者您可以使用GetTextExtent()
计算字符串的长度,并找到与您想要的字体大小相等的字体大小。
要在调整框架大小时动态执行此操作,您需要捕获wxEVT_SIZE
并更改其处理程序中的字体。