472,326 Members | 2,314 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,326 software developers and data experts.

wxPython TextCtrl - weird scrolling behavior

I have a TextCtrl which is set to be multi-line. I have a function
say, updateText(msg), which takes some string and appends it to the
text control...

txtControl.AppendText(msg)

.....however, if the text that I am appending would cause the scroll
bars to appear/or scroll since the text is long the textcontrol appears
to be blank, until you click on the scroll bar...then the text appears.
Any ideas? is this is a sizer problem or a TextCtrl issue??

thanks

Oct 30 '06 #1
10 3987
abcd wrote:
I have a TextCtrl which is set to be multi-line. I have a function
say, updateText(msg), which takes some string and appends it to the
text control...

txtControl.AppendText(msg)

....however, if the text that I am appending would cause the scroll
bars to appear/or scroll since the text is long the textcontrol appears
to be blank, until you click on the scroll bar...then the text appears.
Any ideas? is this is a sizer problem or a TextCtrl issue??

thanks
Don't know for sure, but you can try calling the Refresh() method on the
text control and see if that fixes it.
Oct 30 '06 #2
On Oct 30, 2:52 pm, John Salerno <johnj...@NOSPAMgmail.comwrote:
Don't know for sure, but you can try calling the Refresh() method on
the
text control and see if that fixes it.
Didn't make a difference. Not sure what the problem is, I am wondering
if it is a layout issue since that is my weak spot with wxPython.

sizerTextPanel =
wx.StaticBoxSizer(self.sizerTextPanel_staticbox, wx.HORIZONTAL)
sizerTextPanel .Add(self.textPane, 1, wx.ALL|wx.EXPAND, 2)
self.textPanel.SetAutoLayout(True)
self.textPanel.SetSizer(sizerTextPanel )
sizerTextPanel .Fit(self.textPanel)
sizerTextPanel .SetSizeHints(self.textPanel)
sizerMainPanel.Add(self.textPanel, 3, wx.ALL|wx.EXPAND, 0)
not sure if that means anything to anyone :)

Oct 30 '06 #3
abcd wrote:
sizerMainPanel.Add(self.textPanel, 3, wx.ALL|wx.EXPAND, 0)
Your best bet may be to post to wx************@lists.wxwidgets.org

But one question that comes to mind is, do you not add sizerTextPanel to
sizerMainPanel? I think all sub-sizers should be added to the main
sizer, unless there's some weird reason I don't know of.

If you post to the wxPython mailing list, you might want to include more
of your code so we can see the bigger picture.
Oct 30 '06 #4
But one question that comes to mind is, do you not add sizerTextPanel to
sizerMainPanel? I think all sub-sizers should be added to the main
sizer, unless there's some weird reason I don't know of.
well i set the sizer on the textPanel and then I add the textPanel to
sizerMainPanel

Oct 30 '06 #5
abcd wrote:
>But one question that comes to mind is, do you not add sizerTextPanel to
sizerMainPanel? I think all sub-sizers should be added to the main
sizer, unless there's some weird reason I don't know of.

well i set the sizer on the textPanel and then I add the textPanel to
sizerMainPanel
Ah, I see. Seems like it may be a sizer issue, since you are adding a
bunch of things together. I noticed that one object you refer to is
self.textPane, is that supposed to be self.textPanel?
Oct 30 '06 #6
On Oct 30, 3:47 pm, John Salerno <johnj...@NOSPAMgmail.comwrote:
>I noticed that one object you refer to is
self.textPane, is that supposed to be self.textPanel?
no, self.textPane is the actual wx.TextCtrl.

I used a GUI Builder to the layout stuff...perhaps that's my problem :)

is there a good site to refer to for how to use sizers? i am
essentially creating a chat window (textPane is the history of the
chat, then a textCtrl below it for typing a new message and a button
next to the input field and buttons below the input field).

Oct 30 '06 #7
abcd wrote:
On Oct 30, 3:47 pm, John Salerno <johnj...@NOSPAMgmail.comwrote:
>I noticed that one object you refer to is
self.textPane, is that supposed to be self.textPanel?

no, self.textPane is the actual wx.TextCtrl.

I used a GUI Builder to the layout stuff...perhaps that's my problem :)

is there a good site to refer to for how to use sizers? i am
essentially creating a chat window (textPane is the history of the
chat, then a textCtrl below it for typing a new message and a button
next to the input field and buttons below the input field).
After I watched the screencasts for how Dabo uses sizers, I really
understood them a lot better. I've never used Dabo itself for GUI
design, but the screencast, though it shows them in terms of that
program, still gives a great visual presentation of how sizers work in
general and I suggest you take a look at that:

http://leafe.com/screencasts/sizers1.html
http://leafe.com/screencasts/sizers2.html

P.S. I suggest you post the full code to the wxPython mailing list. I'll
take a look at it to see if anything strikes me, but also you will have
a ton of other (more experienced) people looking at it too, and I
guarantee they will spot your problem.
Oct 31 '06 #8
On Oct 31, 2006, at 3:22 PM, John Salerno wrote:
After I watched the screencasts for how Dabo uses sizers, I really
understood them a lot better. I've never used Dabo itself for GUI
design, but the screencast, though it shows them in terms of that
program, still gives a great visual presentation of how sizers work in
general and I suggest you take a look at that:

http://leafe.com/screencasts/sizers1.html
http://leafe.com/screencasts/sizers2.html
Thanks for the good feedback. It took me a while to wrap my brain
around sizers when I first started using them; now I hate working
without them!

Also, I wanted to mention that our visual Class Designer has another
helpful feature: you can right-click control to bring up a context
menu. One of the choices is 'Edit Sizer Settings...', which brings up
a dialog with all the relevant settings in one place. As you change
them in the dialog, the design surface updates so that you can see
the effect of your changes before you commit them. If you don't like
your changes, click 'Cancel' and things return to the way they were
before you started.

-- Ed Leafe
-- http://leafe.com
-- http://dabodev.com
Oct 31 '06 #9
thanks for the feedback, I am watching the screencasts, which are
helping already. I think I will try out the Dabo GUI tool since it
uses wxPython...and see if I can get the code I need from it.

thanks

Nov 1 '06 #10
On 1 Nov 2006 04:54:32 -0800, abcd <co*******@gmail.comwrote:
thanks for the feedback, I am watching the screencasts, which are
helping already. I think I will try out the Dabo GUI tool since it
uses wxPython...and see if I can get the code I need from it.
I think you'll be very impressed. Those guys are creating an excellent
tool, and I've found that I can create pretty complicated UIs in a
very, very short time with the Class Designer.

--

# p.d.
Nov 1 '06 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Logan | last post by:
I asked a similar question already in the wxPython mailing list, but did not get an answer up to now: 1.) When using a TextCtrl with styles...
3
by: Lo?c Mah? | last post by:
Hello I try to use a Validator for a TxtCtrl placed in a Panel with a Button in order to trigger the Validator and test the content of TxtCtrl. ...
1
by: sillyemperor | last post by:
I was a new guy of Python,when i want to test my wxPython app by unittest,it couldn`t work.I fund a stubmaker.py but it only for wxDialog but all...
1
by: PeterG | last post by:
Hi, I am relatively new to Python, and am learning it as part of a university module... Im currently undertaking a project to create an IM...
5
by: citronelu | last post by:
I made a small wxPython app that retrieves web data; for visual logging I use a TextCtrl widget, and stdout is redirected to it, something like...
9
by: Tyler | last post by:
Hello All: I am currently working on a project to create an FEM model for school. I was thinking about using wxPython to gather the 12 input...
1
by: Bailu | last post by:
Hi, I am a newbie in wxPython and doing a program with ListBox, I want to select and deselect items in this box, I have use self.devlist =...
1
by: aeroumr | last post by:
In the following code, I have created a panel with a button and a textctrl object on it. I have also created a menubar that will create a new text...
4
by: Jimmy | last post by:
hi, all I'm having a problem with creating custom events in wxpython. I have a class A handling some data processing work and another class B...
0
by: tammygombez | last post by:
Hey everyone! I've been researching gaming laptops lately, and I must say, they can get pretty expensive. However, I've come across some great...
0
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
0
by: CD Tom | last post by:
This happens in runtime 2013 and 2016. When a report is run and then closed a toolbar shows up and the only way to get it to go away is to right...
0
by: CD Tom | last post by:
This only shows up in access runtime. When a user select a report from my report menu when they close the report they get a menu I've called Add-ins...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was...
0
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. ...
0
by: Matthew3360 | last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
0
by: AndyPSV | last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.