我已使用wx.frame class
创建了wxpython
。
我想改变课堂内的frame's
大小,有可能吗?
我知道在frame's
时设置init
尺寸,例如
class MyFrame(wx.Frame):
def __init__(self):
super(MyFrame,self).__init__(None, -1, title="demo", size=(width, height))
def change_frame_size(self)
我想在类中创建一个函数,它可以将框架的大小更改为最大值。有人知道吗?
答案 0 :(得分:0)
SetSize
方法可用于更改窗口的大小。
def change_frame_size(self, width, height):
self.SetSize(wx.Size(width, height))
为了最大化窗口,您有Maximize
方法。
self.Maximize()
答案 1 :(得分:0)
只需使用SetSize()
例如
import wx
class MyApp(wx.App):
def OnInit(self):
self.frame = MyFrame()
self.SetTopWindow(self.frame)
return True
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None, title="Window", pos = (100,150), size =(250,200))
menu = wx.Menu()
menu.Append(1,'&Resize Max')
menu.AppendSeparator()
menu.Append(2,'Resize &Min')
menu.AppendSeparator()
menu.Append(3,'E&xit')
menuBar = wx.MenuBar()
menuBar.Append(menu,'&File')
self.Bind(wx.EVT_MENU, self.OnMax, id=1)
self.Bind(wx.EVT_MENU, self.OnMin, id=2)
self.Bind(wx.EVT_MENU, self.OnExit, id=3)
self.SetMenuBar(menuBar)
self.SetMaxSize((500,400))
self.SetMinSize((250,200))
self.Layout()
self.Show()
def OnExit(self, evt):
self.Destroy()
def OnMax(self, evt):
self.SetSize(self.MaxSize)
print("MyFrame resized bigger!")
def OnMin(self, evt):
self.SetSize(self.MinSize)
print("MyFrame resized smaller!")
if __name__ == "__main__":
app = MyApp()
app.MainLoop()