我目前在我的wxpython应用程序中使用wx.SpliterWindow
。当我运行应用程序时,GUI显示正常。但是,当我尝试在分离器窗口的各部分之间移动分隔器时,会出现多个奇怪的水平多色毛刺。它们继续出现在我移动分隔线的任何地方。一旦我释放分频器,故障就会消失。 (我试图上传这种行为的图片或GIF,但是故障消失得太快而无法捕获。如果我能够制作图片或GIF,我会发布它。)
这是我正在运行的代码:
import wx
class Panel1(wx.Panel):
def __init__(self, parent, *args, **kwargs):
super().__init__(parent=parent, *args, **kwargs)
self.SetBackgroundColour((0, 0, 255))
class Panel2(wx.Panel):
def __init__(self, parent, *args, **kwargs):
super().__init__(parent=parent, *args, **kwargs)
self.SetBackgroundColour((0, 255, 0))
class Frame(wx.Frame):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
splitter = wx.SplitterWindow(self)
panel1 = Panel1(splitter)
panel2 = Panel2(splitter)
splitter.SplitHorizontally(panel1, panel2)
splitter.SetMinimumPaneSize(20)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(splitter, 1, wx.EXPAND)
self.SetSizer(sizer)
class App(wx.App):
def OnInit(self):
editor = Frame(None, title='wxPython')
editor.Show()
return True
if __name__ == '__main__':
app = App(False)
app.MainLoop()
在certian平台上使用wx.SplitterWindow时,这种行为是否是一个明显的错误?我在wxPython's issues page上找不到任何内容。
这是我的规格
答案 0 :(得分:1)
这不是错误,只需设置标记wxSP_LIVE_UPDATE
。
在DOC中,此标志将
不要绘制XOR行,而是立即调整子窗口的大小。
在python中,只需写下来
splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE)
,然后它将正常执行。