Python wx.Display#u GetCount不';t在(取消)激活第二个监视器时更新

Python wx.Display#u GetCount不';t在(取消)激活第二个监视器时更新,python,wxpython,Python,Wxpython,我有一个应用程序,需要能够使用多个监视器。监视器的参数显示在wx.选项中,并在鼠标单击小部件时更新 问题是,当应用程序运行时,如果我拔下第二个监视器(操作系统切换到单监视器模式),wx.Display\u GetCount()值在再次调用时不会改变。如果一开始只有一个监视器,然后连接第二个监视器,则会发生同样的情况-显示计数不会改变 我想知道wx.Display是否应该有一个更新方法,或者它不能“实时”更新 我的操作系统:Windows 7 wxpython版本:2.8 python:2.7我不

我有一个应用程序,需要能够使用多个监视器。监视器的参数显示在wx.选项中,并在鼠标单击小部件时更新

问题是,当应用程序运行时,如果我拔下第二个监视器(操作系统切换到单监视器模式),wx.Display\u GetCount()值在再次调用时不会改变。如果一开始只有一个监视器,然后连接第二个监视器,则会发生同样的情况-显示计数不会改变

我想知道wx.Display是否应该有一个更新方法,或者它不能“实时”更新

我的操作系统:Windows 7 wxpython版本:2.8
python:2.7

我不确定这是否有用,但也许您可以尝试在应用程序中绑定wx.EVT_DISPLAY_CHANGED事件,然后再次调用wx.DISPLAY.GetCount()。关于此事件的信息几乎不存在,但就我所知,当您再次调用wx.Display.GetCount()时,它应该重建可用显示列表,或者至少我从这里了解到了这一点:

如果这没有发生,那么可能是wxWidgets中的错误


Andrea.

>wxdisplay.patch下载(20.0 KB)-由Carsten在15个月前添加。>wxdisplay_initonce.patch下载(19.2 KB)-由Carsten在15个月前添加。>修改后的补丁程序在app init期间只枚举监视器一次(每次调用GetCount()时不是新的):我知道GetCount()是一个静态方法,应该只在application init上更新(枚举)显示列表。我想知道他们为什么这么做。你应该一直读到评论的结尾,在那里GetCount似乎重新初始化了监视器的计数,或者至少在我看来是这样的……据我所知,补丁应该解决重新初始化的问题,但它似乎不起作用(当然,如果它包含在2.8版本中的话)