【问题标题】:Disable windows border with wxpython and cefpython3使用 wxpython 和 cefpython3 禁用 windows 边框
【发布时间】:2020-03-31 16:55:36
【问题描述】:

我正在关注这个例子 https://github.com/cztomczak/cefpython/blob/master/examples/wxpython.py 用于 cefpython3 和 wxpython。但是我希望禁用 Windows 边框,这样程序就不能再调整大小,并且它们没有标题栏。但我想保留它,以便程序可以在屏幕上移动。我做了一些研究,但没有找到成功的方法。

【问题讨论】:

    标签: python wxpython cefpython


    【解决方案1】:

    以下似乎可以在 Linux 上完成这项工作。
    您的里程可能会有所不同。

    import wx
    
    class MyFrame(wx.Frame):
        def __init__(self, parent, id=wx.ID_ANY, title="", size=(360,100)):
            super(MyFrame, self).__init__(parent, id, title, size, style = wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX))
            self.panel = wx.Panel(self)
            self.panel.SetBackgroundColour('palegreen')
            self.Show()
    
    if __name__ == "__main__":
        app = wx.App()
        frame = MyFrame(None,title="Non-Resizeable Frame")
        app.MainLoop()
    

    【讨论】:

    • 它确实会阻止它被调整大小,但不会删除 Windows 栏
    • 您始终可以使用style = wx.BORDER_NONE,但您最好添加一个Close 按钮。就是您所指的那个讨厌的“窗口栏”,它为您提供了重新定位的东西。这也可以由你编码,但我觉得这不是你问题的一部分。
    • 试试style = wx.BORDER_THEME,在我的盒子上,我可以抓住窗口顶部最细的线,这样我就可以移动它。
    • BORDER_NONE 和 BORDER_THEME 都把我的应用变成了一个灰色的盒子
    • 那么除非其他人提出更好的想法,否则请按照我的答案运行,直到出现更好的解决方案。您还没有提到您的操作系统,请将其添加到您的问题中,您可能会得到更有针对性的回复。
    猜你喜欢
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 2012-01-02
    • 2022-01-25
    相关资源
    最近更新 更多