Re: Importing wxWidgets Help

Tim Roberts <[email protected]> Thu, 22 Apr 2021 11:14:21 -0700 (PDT)
Newsgroups gmane.comp.python.wxpython
Message-ID <[email protected]>
You confused my by setting the window position to X=-900, which places it 
offscreen and hence invisible.  Usually, you don't want to specify a 
position for your top-level window.  By removing that, your window shows up 
for me.

On Thursday, April 22, 2021 at 11:09:05 AM UTC-7 Tim Roberts wrote:

> One more thing I forgot.  In your "MyTreeCtrl.__init__", you are trying to 
> create another MyTreeCtrl.  Don't do that.  Within that class, you already 
> ARE the MyTreeCtrl.  You don't need "self.tree.Bind", you just need 
> "self.Bind"
> On Thursday, April 22, 2021 at 11:05:31 AM UTC-7 Tim Roberts wrote:
>
>> 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/61aa25a1-99d4-49a4-a714-1fdea63ca858n%40googlegroups.com.