【问题标题】:wxpython Disable Frame Resizing while keeping the RESIZE_BORDER style borderwxpython 在保持 RESIZE_BORDER 样式边框的同时禁用帧调整大小
【发布时间】:2013-12-23 02:46:54
【问题描述】:

我喜欢的风格是:wx.STAY_ON_TOP | wx.RESIZE_BORDER

wxPython Disable Frame Resizing 按照这个建议,边界消失了。但我想保留 RESIZE_BORDER 的风格,而不是它的功能。

这也是我想要的:

self.SetMinSize(self.GetSize())
self.SetMaxSize(self.GetSize())

但是当鼠标悬停在边框上时,它会保留烦人的重新调整大小的鼠标指针。

我正在尝试创建一个类似于 Windows 7 托盘中的音量控制的控件。

谢谢!

【问题讨论】:

    标签: python windows wxpython wxwidgets


    【解决方案1】:

    wxRESIZE_BORDER 不仅仅是一些装饰,它向用户表明窗口可以调整大小。为什么要骗用户?如果您的窗口不可调整大小,请不要使用此样式。您可以使用其他样式来更改边框外观,并且您可能希望使用wxPopupWindow 而不是通常的wxFrame 无论如何用于音量控制。

    【讨论】:

      【解决方案2】:

      创建框架时反转或不使用 wxRESIZE_BORDER 样式。

      更改框架的背景颜色以匹配边框或标题栏颜色。

      创建一个以框架为父的面板。创建一个boxizer。

      将面板添加到sizer;

      sizer.Add(panel, 1, wx.ALL | wx.EXPAND, 5). 
      

      将sizer设置为框架;

      frame.SetSizer(sizer). 
      

      您现在有一个 5 像素的显示边框,没有鼠标功能。

      【讨论】:

        猜你喜欢
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 2015-10-05
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        • 2011-11-13
        • 1970-01-01
        相关资源
        最近更新 更多