borris wrote:
> ive been trying to do a test for type with wxpython objects
>
> like
>
> passing in a wx.TextCtrl into
>
> def XXX(obj)
>  if type(obj) is type(self.Button)
>
> I have to make an object self.Button to get its type.
> as I tried   is type("wx.Button") which didnt work.

type("wx.Button") would return <type 'str'>, did you mean
type(wx.Button)?  That still wouldn't be what you wanted..  For
"classic" classes type() returns <type 'classobj'>; for new style
classes it returns <type 'type'>


Assuming that wx.Button is the class of your Button objects then what
you want is the isinstance() function.

if isinstance(obj, wx.Button):


>>> help(isinstance)
Help on built-in function isinstance in module __builtin__:

isinstance(...)
    isinstance(object, class-or-type-or-tuple) -> bool

Return whether an object is an instance of a class or of a subclass
thereof.
With a type as second argument, return whether that is the object's
type.
The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for
isinstance(x, A) or isinstance(x, B) or ... (etc.).




>
> trouble is the button must have a parent, which appears on the frame (Ill
> try to get rid of it)
>
> but I should be able to use text to set the type
> Ive tried "wx._controls.TextCtrl" which didnt work

huh?

>
> any hints welcome
>
> btw Im newbie to python, coming from Java and I reckon its cool and sleek
> and coming from java Swing, I reckon wxPython is probably better

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to