【问题标题】:Change wx.Frame size inside class在类内更改 wx.Frame 大小
【发布时间】:2017-02-22 09:26:03
【问题描述】:

我用wxpython 创建了一个wx.frame class。 我想更改班级内的frame's 大小,可以吗? 我知道在init 时设置frame's 大小,比如

class MyFrame(wx.Frame):
    def __init__(self):
        super(MyFrame,self).__init__(None, -1, title="demo", size=(width, height))
    def change_frame_size(self)

我想在类中创建一个函数,它可以将框架的大小更改为最大。有人知道吗?

【问题讨论】:

    标签: wxpython


    【解决方案1】:

    SetSize方法可以用来改变窗口的大小。

    def change_frame_size(self, width, height):
        self.SetSize(wx.Size(width, height))
    

    为了最大化一个窗口,你有Maximize 方法。

    self.Maximize()
    

    【讨论】:

      【解决方案2】:

      只需使用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()
      

      【讨论】:

        猜你喜欢
        • 2017-01-18
        • 1970-01-01
        • 2018-01-22
        • 2023-03-05
        • 1970-01-01
        • 2013-08-10
        • 2017-03-20
        • 2021-10-23
        • 2015-02-08
        相关资源
        最近更新 更多