Re: Trouble calling method from one class to another class
RF <[email protected]> Sat, 24 Apr 2021 16:32:38 -0700
| Newsgroups | gmane.comp.python.wxpython |
|---|---|
| Message-ID | <CAGgoqdiLSjJTOwi0hVNho=kwGbFHE5kn=3hQXy=L4pkYYraGOA@mail.gmail.com> |
John, thank you for those comments. I've looked at the __init__ docs and have adjusted accordingly. One comment re the TreeCtrl __init__: I see in some examples I have looked at that they don't include all the parameters and their code runs without giving any errors. For example, this website: https://www.geeksforgeeks.org/wxpython-treectrl/ I don't understand why their codding example runs without error as they have omitted the style, validator and name. In any event, I followed your advice and patterned my __init__ after the options shown in the docs. However, I did make one exception: I omitted the TreeCtrl validator argument as I don't think I need it in the __init__. The line seems to execute OK without and I still am not sure it's optional as the __init__ docs show it in there. So I guess it is optional? Geeksforgeeks omitted three of the arguments and I didn't get any errors when I ran their example code. I'm attaching pyCode4.py as the update with my changes (based on your comments). > At this point I stopped because the GUI opened and I'm not sure what you are trying to d. At this point, I am just trying to execute the file without getting the error: AttributeError: type object 'CoreFrame' has no attribute 'tab_num' on line 78. Then I want to click on any tree node just to fire the add_tab_page() method and see that a new tab page is created. On Sat, Apr 24, 2021 at 3:43 PM john fabiani <[email protected]> wrote: > Take my advise with a smile because I am NOT the best programmer. But, I > have to say this is some very confusing code pxCore2.py. I believe you do > not have a handle on how OOP works within python. Also you copied code > directly out of the wxPython demo but lacked the understanding of what was > being presented. And I bet this is causing confusion and is also not > allowing you to move forward. > > When you define a class, you don't normally create an instance of the > class within the definition of the class. > > self._MyTreeCtrl = MyTreeCtrl is in the __init__ method of MyTreeCtrl. > > so comment out "self._MyTreeCtrl = MyTreeCtrl" > > I believe with wxPython 4.x the super() is used. > > so > > wx.TreeCtrl.__init__(self, parent, id, position, size, style) > > is now > > super().__init__(parent, id = id, pos= position, size = size, style=style) > > You can review the what is needed to init wx.TreeCtrl by looking at the > method in the source code. In this case there are two signatures: > > TreeCtrl() > > or TreeCtrl(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, > style=TR_DEFAULT_STYLE, validator=DefaultValidator, name=TreeCtrlNameStr) > > Therefore, depending on your needs you could just use: > > super().__init__() > > At this point I stopped because the GUI opened and I'm not sure what you > are trying to do. If it is to list a directory there is a widget called > 'FileDialog'. > > Johnf > > > > > > On 4/24/21 10:01 AM, RF wrote: > > > I'm attaching my small demo test app. I'm having a heck of a time figuring > out how to call add_tab_page() from the MyTreeCtrl class. This should > happen when I just click on a tree node. While this doesn't seem to make > any sense, what I plan to do with this action is open a new notebook tab > and load in the filename into the new tab. But I have to get past this > first: being able to call the add_tab_page() from the MyTreeCtrl class. > > I'm fairly sure I'm missing something small here. > > Thank you for any help. > -- > 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/d1e36c62-125a-425c-947e-7bb5820e0184n%40googlegroups.com > <https://groups.google.com/d/msgid/wxpython-users/d1e36c62-125a-425c-947e-7bb5820e0184n%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/de54d97a-1794-a4ab-45fd-78c96b356c96%40gmail.com > <https://groups.google.com/d/msgid/wxpython-users/de54d97a-1794-a4ab-45fd-78c96b356c96%40gmail.com?utm_medium=email&utm_source=footer> > . > -- Ralph Freshour -- 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/CAGgoqdiLSjJTOwi0hVNho%3DkwGbFHE5kn%3D3hQXy%3DL4pkYYraGOA%40mail.gmail.com.
pxCore4.zip
(application/x-zip-compressed, 1.4 KB) - not displayed