RAD with Python

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John J. Lee

    #31
    Re: RAD with Python

    Steve Lamb <grey@despair.d miyu.org> writes:
    [color=blue]
    > On 2003-09-15, John J. Lee <jjl@pobox.co m> wrote:[color=green]
    > > Steve Lamb <grey@despair.d miyu.org> writes:[color=darkred]
    > >> I run several GTK apps that don't touch Gnome:
    > >> Sylpheed-Claws
    > >> Pan
    > >> XChat[/color][/color]
    >[color=green][color=darkred]
    > >> GTK != GNOME.[/color]
    > > [...][/color]
    >[color=green]
    > > Yep: that's exactly what I don't understand! *Why* did you do that?[/color]
    >
    > What, run GTK apps that don't touch Gnome? Simple reason: Gnome
    > sucks. I run KDE. I wouldn't want to load the full gamut of gnome libs
    > but the GTK libs are ok.[/color]

    Sorry, misread that as saying you *wrote*, not *run*.


    John

    Comment

    • JanC

      #32
      Re: RAD with Python

      jjl@pobox.com (John J. Lee) schreef:
      [color=blue]
      > Well, I suppose I really don't know whether or not Qt uses, say, the
      > native Windows tree control. In the end, that's the point of
      > interest: both Qt and wx were designed from the ground up to be
      > cross-platform (unlike Tk -- I presume -- and certainly unlike GTk).
      > Without reading the source code, you'd be hard pushed to figure out
      > which things Qt reimplements, and which it reuses.[/color]
      [color=blue]
      > Qt has never been slow or looked bad on Windows (or unix).[/color]

      According to their website they use native Windows API, but when I tried
      some Qt-programs I've seen those subtle differences with normal Windows-
      applications, which is very annoying at times. When something looks
      similar, you expect it to behave similar. :-(
      (A good example of this is dialog boxes with No/Yes while that should be
      Yes/No on Windows.)

      The rather simple Qt applications I have tried (one of them was Psi) took
      about 25-35% of system & GDI resource handles on Win98 (resource handles
      going below 5-10% is almost always "good" for a system crash in Win9x...)
      and they reacted a little slow at times. Until now I never got this
      problem with wxWindows programs (e.g. Audacity) on Win98.

      All this gave me the "I don't like Qt" feeling, but maybe it's just that I
      tried the wrong applications. ;-)

      Thinking about it, this might just be a Win9x <-> WinNT issue.

      --
      JanC

      "Be strict when sending and tolerant when receiving."
      RFC 1958 - Architectural Principles of the Internet - section 3.9

      Comment

      • Ubaidullah Nubar

        #33
        Re: RAD with Python

        > > I will appreciate some more clarification regarding the GUI framework.[color=blue][color=green]
        > > From the wxPython web site, it looks very good but the two tools
        > > mentioned here
        > > for easing the development of GUI apps (mojoview and kiwi) are both
        > > based on GTK.
        > >
        > > Are they fundamentally different or just a matter of style.[/color]
        >
        > Well, pyGTK and wxPython are Python-language wrappers or bindings
        > around two separate GUI toolkits, GTK+ and wxWindows. As such, the
        > code details will wind up being different. I suspect, though I have
        > no experience with pyGTK, that differences will be mostly syntactic
        > and that overall coding thought processes will be mostly similar. Can
        > anyone else confirm/deny?[/color]

        If they both have a similar style, then that would be good as it will
        be easy to convert from one to the other easily. Otherwise, one would
        have to be extra-cautious before selecting the framework for large
        projects.

        [color=blue][color=green]
        > > Which framework supports internationaliz ation better? Do they support
        > > Right-to-left layouts?[/color]
        >
        > I know that wxPython relies on wxWindow's internationaliz ation
        > capabilities, which seem to be centered around gettext and friends. I
        > do not see anything in the documentation that suggests support for
        > bidirectional font support. Seeing as how gettext and GTK+ are both
        > GNU apps, it should come as no surprise that GTK+ also uses gettext.[/color]

        The article that you mentioned below states that GTK+ has bidrectional
        support. Doesn't mention anything similar for wxPython. But there are
        references in wxWindows docs about right-to-left. Anybody knows how it
        compares to GTK+?

        [color=blue][color=green]
        > > Is there any site that lists the differences/capabilities of each
        > > framework?[/color]
        >
        > There is a comparison of wxWindows, Qt, GTK+, FOX and fltk at:
        > http://freshmeat.net/articles/view/928/[/color]

        Thanks for the link. It is quite informative.
        [color=blue][color=green]
        > > Also, a comparison between Boa Constructor and Glade-2. I haven't seen
        > > either so am not sure if they are even comparable.[/color]
        >
        > Boa-Constructor is a fully-fledged IDE that includes a code editor,
        > debugging, and a GUI designer tool. Boa is based around wxPython, and
        > also includes substantial support for development for the Zope
        > application server. Boa-Constructor is not yet fully mature, but
        > shows much promise.
        >
        > Glade is a GUI designer only, that generates XML resource files used
        > by GTK+ to generate the GUI interface. As such, it is not directly
        > comparable with Boa. PyGTK has support for working with such resource
        > files.
        >
        > Interestingly enough, wxGlade is a more-or-less copy of Glade, but for
        > use with wxPython rather than GTK+, and it generates "cleaner" code
        > than Boa-Constructor.[/color]

        I have been working through some wxPython examples. When external
        resources like icons or images are used on a control, is there a way
        to embed it into the freezed executable?

        Thanks & Regards,
        Ubaidullah Nubar.

        Comment

        • Lothar Scholz

          #34
          Re: RAD with Python

          JanC <usenet_spam@ja nc.invalid> wrote in message news:<Xns93F82A 991BDF4JanC@213 .118.75.228>...
          [color=blue]
          > According to their website they use native Windows API, but when I tried
          > some Qt-programs I've seen those subtle differences with normal Windows-
          > applications, which is very annoying at times. When something looks[/color]

          Thats what they say: native Windows API, not native Widgets.

          Maybe you should finetune your text reading precision level.

          Comment

          • Paul Winkler

            #35
            Re: RAD with Python

            vivek@cs.unipun e.ernet.in wrote in message news:<mailman.1 063374595.21980 .python-list@python.org >...[color=blue]
            > On Fri, Sep 12, 2003 at 06:09:02AM -0700, Ubaidullah Nubar wrote:[/color]
            (snip)[color=blue][color=green]
            > > 4. What types of applications are not suitable to be written in
            > > Python?
            > >[/color]
            >
            > System side softwares[/color]

            I don't know what "system side softwares" means...

            The one real drawback that comes up a lot when discussing python is
            speed, since it's quite a lot slower than C.

            Usually that's actually not a problem. When speed matters, good
            results can be had by A) profiling and fixing your algorithms, B)
            using psyco, C) replacing slow pure-python stuff with third-party C
            extensions, D) replacing any remaining slow pure-python slow stuff
            with your own C extensions.

            However, there is at least one case when that's not likely to be
            enough. An application that has critical realtime deadlines should
            probably not have the python interpreter running in the realtime part.
            Example, realtime DSP. Say you're processing audio in a live
            performance setting. If the interpreter decides to do a bunch of
            garbage collection or otherwise slows down for a moment, you could
            easily miss a deadline and get very nasty dropouts in the output.

            Even in this case, python can be a useful part of the application as
            long as the interpreter is kept away from the time-sensitive parts of
            the app.
            Here's a REALLY cool project with a C DSP engine controlled by the
            movement of physical objects whose movements are detected and refleted
            by a Python / OpenGL UI:

            Comment

            • JanC

              #36
              Re: RAD with Python

              llothar@web.de (Lothar Scholz) schreef:
              [color=blue]
              > JanC <usenet_spam@ja nc.invalid> wrote in message[/color]
              news:<Xns93F82A 991BDF4JanC@213 .118.75.228>...[color=blue]
              >[color=green]
              >> According to their website they use native Windows API, but when I tried
              >> some Qt-programs I've seen those subtle differences with normal Windows-
              >> applications, which is very annoying at times. When something looks[/color]
              >
              > Thats what they say: native Windows API, not native Widgets.
              >
              > Maybe you should finetune your text reading precision level.[/color]

              If you read both of my messages you can see that I doubted they were using
              the Windows GUI (which is part of the Windows APIs), even if I didn't say
              that explicitly (that happens at 4:11am ;)

              --
              JanC

              "Be strict when sending and tolerant when receiving."
              RFC 1958 - Architectural Principles of the Internet - section 3.9

              Comment

              • JanC

                #37
                Re: RAD with Python

                ubaidullahnubar @hotmail.com (Ubaidullah Nubar) schreef:
                [color=blue]
                > I have been working through some wxPython examples. When external
                > resources like icons or images are used on a control, is there a way
                > to embed it into the freezed executable?[/color]

                Look at img2py.py in the wxPython/tools directory.

                --
                JanC

                "Be strict when sending and tolerant when receiving."
                RFC 1958 - Architectural Principles of the Internet - section 3.9

                Comment

                • Christian Reis

                  #38
                  Re: RAD with Python

                  ubaidullahnubar @hotmail.com (Ubaidullah Nubar) wrote in message news:<17d520f6. 0309130701.222d 09fe@posting.go ogle.com>...[color=blue]
                  > I will appreciate some more clarification regarding the GUI framework.
                  > From the wxPython web site, it looks very good but the two tools
                  > mentioned here
                  > for easing the development of GUI apps (mojoview and kiwi) are both
                  > based on GTK.[/color]

                  Well, I can speak of Kiwi at least, which I designed to help us write
                  large GUI applications in Python, here at Async Open Source.

                  Kiwi is different from most of the other frameworks you'll find in the
                  sense that it encourages you to move beyond the string manipulation
                  that's so common in GUI programming (read a string from an entry,
                  write a string to a label, etc etc). In Kiwi, you're expected to work
                  with objects holding data and low-level domain semantics (want to
                  display objects as a list? define the columns, and load the objects in
                  the list with one call; no more worrying about string/numeric/date
                  conversions).

                  Kiwi *really* cuts code length down; you could probably write a
                  phonebook application like you've asked initially in less than 40
                  lines, if using libglade.

                  The intention when writing Kiwi was to allow you to be truly object
                  oriented while coding; it's not a simple wrapper around a C/C++ API as
                  most of the other GUI libraries are (of course, Kiwi hijacks James'
                  PyGtK library to its own evil purpose)
                  [color=blue]
                  > Are they fundamentally different or just a matter of style.
                  >
                  > How easy to switch from one framework to another?[/color]

                  Kiwi is fundamentally different, though you can use as much as you
                  like (just the base view classes, the proxy, the widgets, etc).

                  I think you'll find that the more you use a framework, the harder it
                  is to switch (as with any library).
                  [color=blue]
                  > Which framework supports internationaliz ation better? Do they support
                  > Right-to-left layouts?[/color]

                  GTK+2 has this pretty much solved; pango is a very nice
                  implementation.
                  [color=blue]
                  > Also, a comparison between Boa Constructor and Glade-2. I haven't seen
                  > either so am not sure if they are even comparable.[/color]

                  Glade, when associated with libglade, is a *great* way to write the
                  GUI. All Glade does is generate XML, which libglade reads at runtime
                  -- the rest is real code, version-controllable code that you can work
                  with in your preferred editor.

                  There's nothing that offers comparable reuse and long-term
                  productivity, IMHO, but others will differ.

                  Comment

                  Working...