gpt4 book ai didi

python - 为什么我在使用 wx.SplitterWindow 时会出现故障?

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:35 24 4
gpt4 key购买 nike

我目前正在我的 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

最佳答案

这不是一个错误,只需设置标志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),则执行正常。

关于python - 为什么我在使用 wx.SplitterWindow 时会出现故障?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48392263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com