仅水平调整wx.Dialog大小

1 投票
1 回答
1412 浏览
提问于 2025-04-16 00:36

有没有办法让自定义的 wx.Dialog 只在水平方向上可以调整大小?我试过用 GetSize() 来获取窗口的大小,然后用 SetSizeHints() 设置窗口的最小和最大高度,但不知为什么,它总是允许窗口稍微调整一下大小,这看起来很不美观。我想到的唯一其他办法就是硬性规定最小和最大高度,但我觉得这样做并不好……

相关代码:

class SomeDialog(wx.Dialog):

    def __init__(self, parent):                               
        wx.Dialog.__init__(self, parent, title="blah blah",
                           style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER)
        size = self.GetSize()
        self.SetSizeHints(minW=size.GetWidth(), minH=size.GetHeight(),
                          maxH=size.GetHeight())

操作系统:Windows 7
Python 版本:2.5.4
wxPython 版本:2.8.10

1 个回答

2

如果你不想让高度改变,为什么把最小高度和最大高度都设置成你想要的那个值会是个坏主意呢?当然,你可以通过GetBetSize或者相关的方法来获取系统估算的“最佳值”。不过,我觉得设置大小提示没有达到我认为应该有的效果,这点让我觉得很奇怪……你是在什么平台上使用wxpython的?你的Python版本、wxpython版本和操作系统是什么呢……?

撰写回答