【发布时间】:2018-01-23 00:13:08
【问题描述】:
我目前在我的 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()
在某些平台上使用 wx.SplitterWindow 时,这种行为是已知的错误吗?我在 wxPython's issues page 上找不到任何内容。
这是我的规格
- Windows 10.0
- Python 3.6.1
- wxPython 4.0.0b2
【问题讨论】:
-
我只能猜测可能在
splitter上调用SetDoubleBuffered(True),面板或框架本身可能会有所帮助。 -
感谢@MichaelButscher 的提示。不幸的是,它没有用。不过,我会继续查看 wxPython 文档。也许会有什么事情发生。
标签: python python-3.x wxpython visual-glitch