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

Andrea Gavana <[email protected]> Wed, 21 Apr 2021 20:29:57 +0200
Newsgroups gmane.comp.python.wxpython
Message-ID <CAEf70bxisjXonS-KMGpaW3WuDsr4wEr+qd2ipefco+0VSPWiwQ@mail.gmail.com>
On Wed, 21 Apr 2021 at 20.25, RF <[email protected]> wrote:

> I see. OK I will attach my code in the future. Good point.
>
> I downloaded the extras zip file and unzipped it. What do I do with these
> *.pdb files? Whay app opens them?
>

You only need the demo, everything else is not necessary.




>
> On Wednesday, April 21, 2021 at 10:55:42 AM UTC-7 Infinity77 wrote:
>
>> 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/88b63d14-2359-418e-8f86-8993adb41f87n%40googlegroups.com
> <https://groups.google.com/d/msgid/wxpython-users/88b63d14-2359-418e-8f86-8993adb41f87n%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/CAEf70bxisjXonS-KMGpaW3WuDsr4wEr%2Bqd2ipefco%2B0VSPWiwQ%40mail.gmail.com.