GUI tookit for science and education

Discussion in 'Python' started by =?ISO-8859-2?Q?Mateusz_=A3oskot?=, Aug 15, 2005.

  1. Hi,

    I'd like to ask some scientists or students
    which GUI toolkit they would recommend
    to develop scientific prototypes (for education and
    testing some theories).
    I think such toolkit should fill a bit different
    needs and requirements:
    - very simple to learn
    - easy to install
    - beautyfiers and advanced features are not required like OpenGL,
    direct access to Windows GDI subsystem, beauty look and skinning
    - multiplatform required

    Let's say someone has big amount of algorithms and
    statistical models implemented in Pascal
    (not well designed console apps).
    Now he want to move on using better and modern language
    and GUI toolkit.
    Python is seleceted as user friendly and simple
    language, Pascal successor.

    Thank you for any piece of advice in advance.
    Regards
     
    =?ISO-8859-2?Q?Mateusz_=A3oskot?=, Aug 15, 2005
    #1
    1. Advertisements

  2. =?ISO-8859-2?Q?Mateusz_=A3oskot?=

    Paul Rubin Guest

    Ask yourself why you want a GUI toolkit. Maybe you can write a web
    application instead, and use a browser as the GUI. That's a lot
    easier to write (just use html), and makes it trivial to run the
    application and the browser on separate machines.
     
    Paul Rubin, Aug 15, 2005
    #2
    1. Advertisements

  3. Mateusz ?oskot wrote:
    First, have a look at:
    - wxWidgets (http://www.wxwidgets.org)
    - wxPython (http://www.wxpython.org)

    Or, as a second choice:
    - FLTK (http://www.fltk.org/)
    - PyFLTK (http://pyfltk.sourceforge.net)

    There are many others GUI toolkit around. Just search Google for
    "multiplatform Python GUI toolkit" or something like that.
    There was a python to pascal automatic converter at:

    http://no.spam.ee/~andreie/software/py2pas/english-index.html

    (Now offline)

    CU
     
    Alessandro Bottoni, Aug 15, 2005
    #3
  4. =?ISO-8859-2?Q?Mateusz_=A3oskot?=

    TPJ Guest

    Recently I was considering the choice of PyGTK or wxPython. They are
    both rich GUI libraries, and they both are cross-platform ones (well...
    they work on GNU/Linux and on Windows).

    I chose PyGTK, because it has *much* better documentation (I wasn't
    very happy when I had to look for information in documentation of
    wxPython - and lose a couple of hours - when I wanted to do something
    really simple...) and it seems to work stable on Windows.
    OT: I would recommend the use of Python + Numeric and, eventually, C
    (when the performance becomes really crucial). I'm working on genetic
    algorithms and - for now - the combination of Python and C was the best
    I got ever. In a few days I will run the first version of GAs
    implemented with Numeric.
     
    TPJ, Aug 15, 2005
    #4
  5. =?ISO-8859-2?Q?Mateusz_=A3oskot?=

    phil hunt Guest

    Tkinter is the default GUI for Python, it runs on lots of platforms
    and often comes already installed (on Linux or Unix distributions).

    Is it "very simple to learn"? Well I suppose that depends on what
    you mean by "very simple".
     
    phil hunt, Aug 15, 2005
    #5
  6. =?ISO-8859-2?Q?Mateusz_=A3oskot?=

    phil Guest


    I use Tkinter for a geometry course. I think it is fairly easy to
    learn, much easier than say VB. VERY portable and pretty well
    documented and very well supported on this list.
    It doesn't have much math built in. For functions you have to
    plot points.
     
    phil, Aug 15, 2005
    #6
  7. If you want to plot stuff, the gnuplot-py module is very easy
    to use. http://sourceforge.net/projects/gnuplot-py/

    The one feature that I'd really like to add is the ability to
    plot a python function object. Currently you can plot a
    function specified by a string (e.g. "sin(x) * sin(x)**2"), or
    a sequence of data points. It would be nice to be able to pass
    an actual function.
     
    Grant Edwards, Aug 15, 2005
    #7
  8. Thank you all for valuable responses.
    I think I will stick to Tk and Tkinter.

    Cheers
     
    =?ISO-8859-2?Q?Mateusz_=A3oskot?=, Aug 16, 2005
    #8
  9. It doesn't have much math built in. For functions you have to
    matplotlib is also ver good possibility
     
    Markus Rosenstihl, Aug 16, 2005
    #9
  10. =?ISO-8859-2?Q?Mateusz_=A3oskot?=

    Guest Guest

    Markus Rosenstihl napisał(a):
    Thanks, I'll try it.

    Cheers
     
    Guest, Aug 16, 2005
    #10
  11. Wow Paul!
    I just couldn't help zeroing on that comment.
    I would have used adjectives like "clunky" and "limited" when talking about
    using an html in a browser app. Particularly if we are talking about high
    powered math/graphs as we often are in the science apps indicated in the
    original post.

    I would take MS Excel/VBA as the premier fat client prototyping tool/GUI
    toolkit for science & education. How would one go about replicating any of
    that in an HTML/browser app? How do we get to "easier to write"?
    I just did. The answer is that I don't *think* you can do much of that with
    html.

    Then again - I was wrong once :)
    -Tom
     
    Thomas Bartkus, Aug 17, 2005
    #11
  12. Thomas Bartkus napisa³(a):
    As I said, I'm looking for multiplatform solution.
    So, I will go with Python, Tk and C++ (for algorithm and critical parts
    of applications). Tk is simple, very simple, Python I like, C++ I love,
    as I'm professional C++ programmer.
    Students and profs will use Python with Tk mainly.
    I will convert some of libraries with algorithms they will prototype in
    python (and exsiting in Pascal) to C/C++ and bind them with Python.

    There is also C++/Tk by Maciej Sobczak, great tool.

    Cheers
     
    =?ISO-8859-2?Q?Mateusz_=A3oskot?=, Aug 17, 2005
    #12
  13. =?ISO-8859-2?Q?Mateusz_=A3oskot?=

    phil Guest

    Good choice!
     
    phil, Aug 17, 2005
    #13
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.