【问题标题】:Getting window size after the user has altered it in wxPython用户在 wxPython 中更改窗口大小后获取窗口大小
【发布时间】:2017-12-03 03:32:48
【问题描述】:

我正在尝试找到一种方法来获取窗口的水平长度,以防用户更改它,因为如果我不这样做,我需要显示的文本有时会被截断。我在 macOS 上使用 python 3.6.1 和 wx (wxPython) 库。

【问题讨论】:

    标签: python window wxpython


    【解决方案1】:

    假设你的意思是宽度,水平长度你可以使用:

    widget.size
    

    对于小部件的大小和; widget.Size[0] 表示宽度,widget.Size[1] 表示高度。

    此外,基于this,您还可以限制为小部件设置最小尺寸,以便用户无法将其调整为小于该尺寸:

    widget.SetMinSize(wx.Size(320,240))
    

    这是一个示例代码:

    import wx
    
    root = wx.App()
    frame = wx.Frame(None, -1, 'win.py')
    frame.SetDimensions(0,0,320,480)
    frame.SetMinSize(wx.Size(320,240))
    frame.Show()
    
    print(frame.Size[0])
    root.MainLoop()
    

    【讨论】:

      【解决方案2】:

      GetSize() 用于您感兴趣的小部件。
      它返回 (Width,Height)。
      运行此代码并调整窗口大小。

      import wx
      
      def size_change(event):
          width,height = event.GetSize()
          print ("Width =",width,"Height =",height)
      
      app = wx.App()
      frame = wx.Frame(None, -1, 'Get Size Test')
      frame.SetSize(500,250)
      frame.Bind(wx.EVT_SIZE, size_change)
      frame.Show()
      
      print ("Original Size =",frame.GetSize())
      
      app.MainLoop()
      

      【讨论】:

        猜你喜欢
        • 2016-07-08
        • 1970-01-01
        • 2012-12-02
        • 2011-08-25
        • 2018-03-18
        • 1970-01-01
        • 2012-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多