Re: Importing wxWidgets Help

Tim Roberts <[email protected]> Thu, 22 Apr 2021 11:05:31 -0700 (PDT)
Newsgroups gmane.comp.python.wxpython
Message-ID <[email protected]>
You have two immediate problems.  First, in CoreFrame where you instantiate 
MyTreeCtrl, you are passing `vbox` as the parent.  This is one of the more 
confusing aspects of wxWidgets.  The windows and the sizers live in two 
separate hierarchies.  A sizer controls a set of windows, but it is not 
itself a window, and thus cannot be a parent.  You need to pass "self" as 
the parent, so the frame becomes the parent window.  Essentially, you 
create a whole bunch of windows in a hierarchy, and then you add those 
windows to sizers (which have their own hierarchy) to control their 
placement.

The second problem is in "MyTreeCtrl.__init__" when you call 
"wx.TreeCtrl.__init__".  If you look at the documentation, you'll see that 
the parameters for that start out self, parent, id, pos, size, style, ...  
 You are not passing a "pos", which is why you get an error.  Now, that's a 
perfectly OK thing to do, but once you omit a positional parameter, the 
rest have to be specified by name:  "wx.TreeCtrl.__init__(self, parent, id, 
size=size, style=style)".  That should get you a little farther.

On Wednesday, April 21, 2021 at 8:12:59 PM UTC-7 [email protected] wrote:

> I uploaded an older copy of my pxCore.py file. Attached is my latest 
> version that I should have uploaded previously.
>
> On Wednesday, April 21, 2021 at 8:11:09 PM UTC-7 RF wrote:
>
>> So I decided to start out by incorporating my class MyTreeCtrl(wx.TreeCtrl): 
>> at the top of my core project file pxCore.py. I have attached it as a zip 
>> file.
>>
>> I just can't figure out how to make the call to create the TreeCtrl 
>> without getting some kind of error.
>>
>> Currently the error in line 6 is: TypeError: TreeCtrl(): arguments did 
>> not match any overloaded call:
>>
>> Thank you for any help.
>>
>> On Wednesday, April 21, 2021 at 3:35:38 PM UTC-7 RF wrote:
>>
>>>
>>> I've written a class TreeCtrl python file. I'm trying to import it into 
>>> my project's main python file.
>>>
>>> I can't find any examples of how this should be done. The examples I've 
>>> found are very simple ones like Car.py located here: 
>>> https://www.guru99.com/import-module-python.html
>>>
>>> But those are very simple examples and if I copy their structure they 
>>> don't work for wx widgets.
>>>
>>> My project will use various widgets such as TreeCtrl, StyledTextCtrl, 
>>> Toolbar and Menu. I thought I would put each of them into their own class 
>>> file and import them into my main core python file (to keep file sizes 
>>> down).
>>>
>>> Does that sound reasonable or should I just have the classes at the top 
>>> of my main python file and not do the imports?
>>>
>>>

-- 
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/2f2f8b1d-0cd7-45cc-af4c-7f3401eadf33n%40googlegroups.com.