为什么我在使用 wx.SplitterWindow 时会看到故障?
Why am I seeing glitches when using wx.SplitterWindow?
我目前正在我的 wxpython 应用程序中使用 wx.SpliterWindow
。当我 运行 应用程序时,GUI 显示正常。但是,当我尝试在分离器 window 的各部分之间移动分隔线时,会出现多个奇怪的水平多色毛刺。无论我移动分隔线,它们都会继续出现。一旦我释放分隔线,故障就会消失。 (我试图上传此行为的图片或 GIF,但故障消失得太快而无法捕捉到。如果我能制作图片或 GIF,我会post。)
这是我运行宁的代码:
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.
上找不到任何内容
这是我的规格
- Windows10.0
- Python 3.6.1
- wxPython 4.0.0b2
这不是错误,只是设置标志 wxSP_LIVE_UPDATE
。
在 DOC 中,此标志将
Don't draw XOR line but resize the child windows immediately.
在python中,就这么写
splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE)
,则正常执行
我目前正在我的 wxpython 应用程序中使用 wx.SpliterWindow
。当我 运行 应用程序时,GUI 显示正常。但是,当我尝试在分离器 window 的各部分之间移动分隔线时,会出现多个奇怪的水平多色毛刺。无论我移动分隔线,它们都会继续出现。一旦我释放分隔线,故障就会消失。 (我试图上传此行为的图片或 GIF,但故障消失得太快而无法捕捉到。如果我能制作图片或 GIF,我会post。)
这是我运行宁的代码:
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.
上找不到任何内容这是我的规格
- Windows10.0
- Python 3.6.1
- wxPython 4.0.0b2
这不是错误,只是设置标志 wxSP_LIVE_UPDATE
。
在 DOC 中,此标志将
Don't draw XOR line but resize the child windows immediately.
在python中,就这么写
splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE)
,则正常执行