Re: AttributeError: 'TreeCtrl' object has no attribute 'GetItem'

Andrea Gavana <[email protected]> Wed, 21 Apr 2021 19:55:28 +0200
Newsgroups gmane.comp.python.wxpython
Message-ID <CAEf70byKrpN5m7NpaP80uMN91soi43GcoOpEOtPzZMQe-sk6dw@mail.gmail.com>
Hi,

On Wed, 21 Apr 2021 at 19:46, RF <[email protected]> wrote:

> I indented the def OnSelChanged(self, event): function and it now works.
>
> Is that because tree was created inside the MainFrame class, so therefore,
> the bind has to be within the same block?
>

When I said to properly format your code,  I meant either attach a Python
file to your message or make sure that your email client does not mess up
the indentation. This is how you code looks on my GMail:

[image: image.png]

There is no indentation and it's very difficult to follow. Since you're new
to Python and wxPython, I strongly encourage you to take a look at the
wxPython demo - it has pretty much everything:

https://extras.wxpython.org/wxPython4/extras/4.1.1/

Andrea.



>
> On Wednesday, April 21, 2021 at 10:42:47 AM UTC-7 RF wrote:
>
>> Hi Andrea,
>>
>> > Please properly format your code.
>>
>> I have spent the last two days trying to structure my code 'properly'. I
>> am new to python so I have looked at a lot of coding examples. There are a
>> lot of different ways to structure python code. I thought I had settled on
>> one of the better ways to do this, but apparently not! But I am eager to
>> learn how to do it properly.
>>
>> When you say my code is 'messed up', do you mean by indentation or where
>> my functions are located?
>>
>> On Wednesday, April 21, 2021 at 10:10:38 AM UTC-7 Infinity77 wrote:
>>
>>> Hi,
>>>
>>> On Wed, 21 Apr 2021 at 18.57, RF <[email protected]> wrote:
>>>
>>>> Hi Tim,
>>>>
>>>> I'm trying to get the text of the node when I click on the node. This
>>>> is a directory of files and I want to grab the filename when I click on a
>>>> given node.
>>>>
>>>> I'm pretty confused with these methods...I've not been able to get any
>>>> of them to work.
>>>>
>>>> GetSelection()
>>>> GetFocusedItem()
>>>> GetItemText()
>>>>
>>>
>>>
>>> The event itself does have a GetItem method. The problems related to
>>> your source code are:
>>>
>>> - at least for me, the indentation is all messed up
>>> - please take a look at how to use Bind(), I.e., not this:
>>>
>>> self.tree.Bind(wx.EVT_TREE_SEL_CHANGED, OnSelChanged(self, self.tree),
>>> self.tree)
>>>
>>> But this:
>>>
>>> self.tree.Bind(wx.EVT_TREE_SEL_CHANGED, OnSelChanged)
>>>
>>> Not sure if OnSelChanged is a class method for you or just a function.
>>> Please properly format your code.
>>>
>>> Andrea.
>>>
>>>
>>>> On Wednesday, April 21, 2021 at 9:15:18 AM UTC-7 Tim Roberts wrote:
>>>>
>>>>> RF wrote:
>>>>>
>>>>> So I've googled around on this error and found some others who've had
>>>>> this problem. But I can't seem to solve it for my own app.
>>>>>
>>>>> I get the error from the bind event: def OnSelChanged(self, event):
>>>>>
>>>>> ...
>>>>>
>>>>> def OnSelChanged(self, event):
>>>>>      item = event.GetItem()
>>>>>      print(self.tree.GetItemText(item))
>>>>>
>>>>> Well, the error is correct.  The wx.TreeCtrl object does not have a
>>>>> GetItem method.  What are you trying to do here?  Is it possible you wanted
>>>>> GetSelection() instead?
>>>>>
>>>>> --
>>>>> Tim Roberts, [email protected]
>>>>> Providenza & Boekelheide, Inc.
>>>>>
>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "wxPython-users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/wxpython-users/85152e3f-30ea-4c61-a20f-81c2a59581e7n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/wxpython-users/85152e3f-30ea-4c61-a20f-81c2a59581e7n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
> You received this message because you are subscribed to the Google Groups
> "wxPython-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/wxpython-users/351ca3db-1a83-440a-acbe-7139d31ed93dn%40googlegroups.com
> <https://groups.google.com/d/msgid/wxpython-users/351ca3db-1a83-440a-acbe-7139d31ed93dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/wxpython-users/CAEf70byKrpN5m7NpaP80uMN91soi43GcoOpEOtPzZMQe-sk6dw%40mail.gmail.com.
image.png (image/png, 33.1 KB) - not displayed