wxPython - UltimateListCtrl.ScreenToClient 类型错误

wxPython - UltimateListCtrl.ScreenToClient Type Error

我似乎无法调用 UltimateListCtrl.ScreenToClient(pos)。我不断收到类型错误。我输入一个 (x,y) 的元组,然后得到

TypeError: ScreenToClient() takes exactly 3 arguments (2 given)

我分别输入 x, y 得到

TypeError: Window_ScreenToClient() takes at most 2 arguments (3 given)

有什么帮助吗?这是 UltimateListControl 的问题吗?有一个简单的解决方法吗?谢谢

我认为这是 UltimateListCtrl 中的问题。

幸运的是,有一个相当简单的修复方法。找到加载 UltimateListCtrl 的 ultimatelistctrl.py 文件,在其中找到 ScreenToClient 方法并替换行

        return self._mainWin.ScreenToClient(x, y)

        return self._mainWin.ScreenToClient((x, y))

当您分别指定 xy 时,ultimatelistctrl.py 文件的完整路径应该在异常回溯中。在我的机器上它是 C:\Python27\lib\site-packages\wx-2.9.3-msw\wx\lib\agw\ultimatelistctrl.py。追溯还提到了此方法中行的行号,在我的例子中是 12457.

我建议对 ultimatelistctrl.py 文件中的 ClientToScreen 方法进行相同的更改,因为它有同样的问题。