473,508 Members | 2,289 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Stable GUI

Which GUI is the most stable one? I don't need any fancy looking
widgets (look and feel doesn't realy matter to me), I "just" need it
to be rock stable and fast...
Jul 18 '05 #1
11 1733
Hi Viktor,

By fast what do you mean exactly? Imho all the usual gui-toolkits
pythonistas use are quite fast enough for most applications. You can
use Tkinter ofcourse, and with the extra "Tix" module you get lots
widgets. It's not the prettiest toolkit in the world, but it does the
job well. And it's very programmer friendly.
A step up would be to use wxWindows or Qt (wxPython and pyQt
respectively), both are fast and stable as far as I know, and they are
more powerful than Tk, generally speaking.

Maybe you should describe your particular application and the reasons
why you really need lightspeed widget rendering ? Stability goes
without saying:)

Regards
Lars

Jul 18 '05 #2
Check out EasyGui. It's easy to use/modify Tinker:

http://www.ferg.org/easygui/
From the web page:

" Experienced Pythonistas need support for quick and dirty GUI
features. New Python programmers need GUI capabilities that don't
require any knowledge of Tkinter, frames, widgets, callbacks or lambda.
This is what EasyGUI provides. Using EasyGUI, all GUI interactions are
invoked by simple function calls.

" EasyGUI is different from other GUIs in that EasyGUI is NOT
event-driven. It allows you to program in a traditional linear fashion,
and to put up dialogs for simple input and output when you need to. If
you have not yet learned the event-driven paradigm for GUI programming,
EasyGUI will allow you to be productive with very basic tasks
immediately. Later, if you wish to make the transition to an
event-driven GUI paradigm, you can do so with a more powerful GUI
package such as anygui, PythonCard, Tkinter, wxPython, etc."

Jul 18 '05 #3
Lars wrote:
Maybe you should describe your particular application and the reasons
why you really need lightspeed widget rendering ? Stability goes
without saying:)


It's a GUI for some database input, output routines. It sopouse to wark
24h/day, and about 150 input-outputs/h.

Fast: Because it's going to work on some old machines PI or PII, so I
don't need any *lightspeed*, but I don't wan't to wait 5s to open a new
Frame or something like that.
Stable: I tought that thay are, but wxPython broke on some simple test
programs that came with wxPython-demo. Tkinter newer broke, but neather
the programs I wrote were somthing complicated.

Thanks

Jul 18 '05 #4
I just noticed that wxPython is leaking memory?! Playing with
wxPython-demo, I started with 19MB used, and ended whith almost 150MB
used?!
It's wxPython 2.5.3.1 running on Python 2.4.

Jul 18 '05 #5
Viktor wrote:
I just noticed that wxPython is leaking memory?! Playing with
wxPython-demo, I started with 19MB used, and ended whith almost 150MB
used?!
It's wxPython 2.5.3.1 running on Python 2.4.


On which platform?

And how are you measuring this apparent memory consumption?

And what happens (assuming you're on Windows) if you minimize
the window? What does the memory usage show as then? And if
you then restore the window but do nothing else with it?

Memory consumption is a very difficult thing to measure
properly in the best of circumstances, and if you're merely
running the demo it seems unlikely you're observing a real "leak".

-Peter
Jul 18 '05 #6
I've used Tkinter quite extensively for various tools, but never for
anything big. I believe it will work nicely for a data input type of
application. I don't know if you'll experience significant "lag" when
updating app-windows on old pentiums, but it shouldn't be a problem.
Mind you, the machines should have a decent amount of ram (I guess
around 128 mb and upwards is reasonable).
The only problem I've ever encountered was with updating Tk widgets
from threads in a threaded app - it won't work. The solution was
nothing worse than using an output queue, and having an event check the
output buffer every second or so.

The Tcl/TK crowd probably have more extensive experience with using Tk
and Tix for bigger long running apps, maybe you can ask them for more
info?

Good luck with your app!
Lars

Jul 18 '05 #7
Lars napisa³(a):
The only problem I've ever encountered was with updating Tk widgets
from threads in a threaded app - it won't work. The solution was
nothing worse than using an output queue, and having an event check the
output buffer every second or so.


I know literally no GUI toolkit, that allows direct updating of GUI
objects from any other thread that the one which created them. Some even
do not allow updating from any other thread than main application thread
and this may be really painful.

--
Jarek Zgoda
http://jpa.berlios.de/ | http://www.zgodowie.org/
Jul 18 '05 #8
Peter Hansen wrote:
On which platform?


On Linux, and I'm watching the percentage of used memory with *top* or
*ps v* (I have 256 MB). The aplication started with 19% used and after
45 minutes playing I saw i eat up almost 70%.

I also noticed that:
from Tkinter import *
l = Listbox()
l.pack()
for i in range(200000): .... l.insert('end', str(i)) # Occupy memory
.... l.delete(0, 'end') # Free the memory
Doesn't free the memory. The memory stays occupied. OK, when I do the
same thing again, no additional memory is occupied. He uses the same
memory allocated first time, but why doesn't he free it and why memory
isn't fread up even if I explicitly call
l.distroy()
del l

?!

Thank You.

Jul 18 '05 #9
Viktor wrote:
Doesn't free the memory. The memory stays occupied. OK, when I do the
same thing again, no additional memory is occupied. He uses the same
memory allocated first time, but why doesn't he free it and why memory
isn't fread up even if I explicitly call


the memory is released, but it's still assigned to the process. if, how and when it's
returned to the operating system depends on a lot of things, most of which are out-
side Python's control.

(fwiw, this is how dynamic memory management works on most platforms).

</F>

Jul 18 '05 #10
Peter Hansen <pe***@engcorp.com> wrote:
Viktor wrote:
I just noticed that wxPython is leaking memory?! Playing with
wxPython-demo, I started with 19MB used, and ended whith almost 150MB
used?!
It's wxPython 2.5.3.1 running on Python 2.4.

On which platform?

And how are you measuring this apparent memory consumption?


And what are you doing to the demo to provoke it? (I've had a
wxPython application significantly increase its memory footprint
on Windows just from opening a file dialog.)

--
\S -- si***@chiark.greenend.org.uk -- http://www.chaos.org.uk/~sion/
___ | "Frankly I have no feelings towards penguins one way or the other"
\X/ | -- Arthur C. Clarke
her nu becomež se bera eadward ofdun hlęddre heafdes bęce bump bump bump
Jul 18 '05 #11
Am Wed, 16 Feb 2005 06:19:27 -0800 schrieb Viktor:
Which GUI is the most stable one? I don't need any fancy looking
widgets (look and feel doesn't realy matter to me), I "just" need it
to be rock stable and fast...


Hi,

For me pygtk is enough stable and fast.

The reference is good:
http://www.pygtk.org/pygtk2reference/index.html
Thomas

--
Thomas Güttler, http://www.thomas-guettler.de/
Jul 18 '05 #12

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

Similar topics

15
4267
by: Meetul Kinarivala | last post by:
Hello, I went to the PHP download page and found two versions: 4.3.10 AND 5.0.3 It does not talk about which one is the most stable. Please help Mike
38
5733
by: Aaron W. LaFramboise | last post by:
Hello, I understand that an easy way to make the standard std::priority_queue stable is by including an integer stamp with each node that is incremented each time a new node is pushed into the...
2
3806
by: cody | last post by:
I need a sort method for stable sorting, that is, if two values have the same value they won't be swapped. Will there be such a thing in whidbey? -- cody www.deutronium.de.vu ||...
2
1216
by: Carlos | last post by:
I have to implement a application that use Serial COM ports and I was thinking to use VS2005, but I wan to know is that is true that is stable ? I heard that the release date is November 7 2005 and...
3
1103
by: George | last post by:
I am A major VB6 coder and have never done any .NET stuff. I am about to make the leap and think i will start with VB 2005 that comes in the VS 2005 Beta. Have people found it stable enough to...
8
2602
by: Frank van Vugt | last post by:
Hi, If during a transaction a number of deferred triggers are fired, what will be their execution order upon the commit? Will they be executed in order of firing or alfabetically or...
30
2691
by: gaoxtwarrior | last post by:
a sort which is stable means it keeps the object's original order. A sort which is in place is stable. does anyone can explain me what is sort in place? thx.
9
4503
by: Gary Brown | last post by:
Hi, I need a stable sort and can find none in the MS libraries. Is there a simple one available on the internet? It needed for sorting various lists of maybe 1K elements - mostly ListView...
0
7224
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7380
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7039
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7494
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5626
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5050
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4706
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3180
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
763
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.