【发布时间】:2017-12-03 03:32:48
【问题描述】:
我正在尝试找到一种方法来获取窗口的水平长度,以防用户更改它,因为如果我不这样做,我需要显示的文本有时会被截断。我在 macOS 上使用 python 3.6.1 和 wx (wxPython) 库。
【问题讨论】:
我正在尝试找到一种方法来获取窗口的水平长度,以防用户更改它,因为如果我不这样做,我需要显示的文本有时会被截断。我在 macOS 上使用 python 3.6.1 和 wx (wxPython) 库。
【问题讨论】:
假设你的意思是宽度,水平长度你可以使用:
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()
【讨论】:
将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()
【讨论】: