如何禁用用户调整大小的wxFrame?如果在创建框架时有一个标记,那么它是什么?
答案 0 :(得分:17)
default window style is
wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN
如果从中删除wx.RESIZE_BORDER,您将获得一个无法调整大小的帧。
这样的事情应该做的事情:
wx.Frame(parent, style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER)
答案 1 :(得分:1)
您可以使用SetSizeHints(或SetMaxSize和SetMinSize)来限制最大和最小尺寸或
答案 2 :(得分:0)
我使用此程序尝试了以上建议:
@objc func advancePage(_ note:NSNotification){
...但是没有用。框架仍可调整大小。
用“ wx.DEFAULT_FRAME_STYLE&(〜wx.RESIZE_BORDER)”替换样式值也不起作用。框架仍可调整大小。
使用SetMaxSize()和SetMinSize()确实会阻止调整大小,但是在Mac OS X上仍然会出现调整大小箭头。
示例:
import wx
app = wx.App()
frame = wx.Frame(None, style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER)
frame.Show()
app.MainLoop()
2019年3月20日更新:
https://wxpython.org/Phoenix/docs/html/wx.Frame.html
根据此页面禁用帧大小调整,请使用以下方法:
import wx
app = wx.App()
frame = wx.Frame(None, size=(400,300))
frame.SetMaxSize(wx.Size(400,300))
frame.SetMinSize(wx.Size(400,300))
frame.Show()
app.MainLoop()
使用此示例程序,我能够使调整大小箭头在Mac OS 10.12上完全消失:
style = wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX)