Python“is”比较在wxPython menuitem上失败

时间:2014-03-11 09:11:55

标签: python wxpython

我正在使用wxPython来显示一些菜单。我有一个带有menuitem参数的函数。然后我获取menuitem的父菜单,并遍历父菜单的菜单项列表以找到我原来的menuitem - 我需要这样,所以我可以在我给出的菜单项之后添加一个新的菜单项 - 插入例程使用整数位置。所以......

def SetMenu( self, menuSeparator ):
    menu = menuSeparator.GetMenu()
    for m in menu.GetMenuItems():
        print m
        print menuSeparator
        print id(m), id(menuSeparator)
        print m.GetText()
        if m is menuSeparator:
            print "Found MRU StartSeparator"
            break

我的代码找不到原始项目。当我运行它时,我得到以下输出(修剪)......

<wx._core.MenuItem; proxy of <Swig Object of type 'wxMenuItem *' at 0x97387f8> >
<wx._core.MenuItem; proxy of <Swig Object of type 'wxMenuItem *' at 0x97387f8> >
157717676 157694924

<wx._core.MenuItem; proxy of <Swig Object of type 'wxMenuItem *' at 0x9738e58> >
<wx._core.MenuItem; proxy of <Swig Object of type 'wxMenuItem *' at 0x97387f8> >
157717292 157694924
_Redirect Output

第一个块显示我正在寻找的项目的调试,但它不匹配。菜单项似乎指向相同的底层对象,但指针是否不同?我怎么才能工作?

谢谢, 弗兰克

0 个答案:

没有答案