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