Jacob Davis wrote: > Hi. > > I am using wxPython, and I have a frame that has a notebook in it. > there are 3 pages in the notebook, 2 of which are Panels and 1 of > which is a PlotCanvas. The data for the plot changes when I press a > button that is in the frame, but not in the notebook (as designed). > the button also makes the plot draw again, since the data has changed. > > The problem is that whenever I press my button, the focus of the > notebook "view area" (as opposed to the tabs) changes focus to the > plot. if I have multiple plots, the focus goes to that plot which was > drawn last in the code. however, if I click anywhere on the panel, the > page of the notebook that is supposed to be in focus is now shown in > the "view area" of the notebook. > > will try to make a sample .py if anybody needs a visual, let me know > pls. > > Thanks for any help! > > Jake
All wxWindow objects have a SetFocus() method. I am unsure why the system should be changing the focus (it's almost certainly something you are asking it to do without realizing), but the easiest way to proceed if you can't stop the focus from changing (i.e. remove the problem) is to call SetFocus() on the widget that you want to have the focus after you've finished (i.e. cure the symptom). Or perhaps it's just that I haven't understood the problem correctly. You probably didn't post the code because it's large (which is good). The correct action is to pare the program down to the smallest one you can make that demonstrates the problem, then post that. often during this process it becomes clear what the problem is! It may be that your widget relationships aren't as clean as they might be: did you produce your layout with an automated tool like wxDesigner or BoaConstrictor, or did you hack it together by hand? regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list