Yet another GUI toolkit question...

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Kevin Walzer

    #1

    Yet another GUI toolkit question...

    ....with a twist.

    I'm undertaking my first semi-substantial Python GUI application after a
    long time dabbling with the language.

    I'm fairly experienced with Tcl/Tk, so Tkinter seems the obvious choice
    to reduce my Python learning curve. However, my Tcl applications
    typically make use of a *lot* of extensions to the core widget set, such
    as BWidgets, tablelist, and Tile.

    I've found minimal Tkinter wrappers for all of these extensions, but
    they are all labelled "experiment al," lightly documented at best, and
    little-used (as far as I can tell) by Python developers.

    So: my question is, would it be more productive for me to wrestle with
    these extensions when there doesn't seem to be much constituency for
    their use, or would it be better/faster/more efficient for me to start
    scaling the wxPython mountain?

    For what it's worth, my application has to run on OS X and Windows, and
    will be commercial, so this combination of requirements rules out
    PyGTK/PyQt/just about every other cross-platform GUI toolkit.

    Advice, especially from those Tkinter devs who look beyond the core
    widget set for their apps, is appreciated!

    --
    Kevin Walzer
    iReveal: File Search Tool

  • Dan Sommers

    #2
    Re: Yet another GUI toolkit question...

    On Fri, 10 Feb 2006 19:16:36 -0500,
    Kevin Walzer <sw@wordtech-software.com> wrote:
    [color=blue]
    > For what it's worth, my application has to run on OS X and Windows,
    > and will be commercial, so this combination of requirements rules out
    > PyGTK/PyQt/just about every other cross-platform GUI toolkit.[/color]

    According to their respective web sites, both Qt and PyQt have
    commercial licenses, and both run on both OS X and Windows. Is there
    another reason you cannot use them? Usually the concern is the other
    way around, that the Qt and PyQt licenses aren't sufficiently free or
    Free.

    Disclaimer: I have no financial or business ties to Trolltech or to
    Riverbank.

    Regards,
    Dan

    --
    Dan Sommers
    <http://www.tombstoneze ro.net/dan/>

    Comment

    • Kevin Walzer

      #3
      Re: Yet another GUI toolkit question...

      Dan Sommers wrote:[color=blue]
      > On Fri, 10 Feb 2006 19:16:36 -0500,
      > Kevin Walzer <sw@wordtech-software.com> wrote:
      >[color=green]
      >> For what it's worth, my application has to run on OS X and Windows,
      >> and will be commercial, so this combination of requirements rules out
      >> PyGTK/PyQt/just about every other cross-platform GUI toolkit.[/color]
      >
      > According to their respective web sites, both Qt and PyQt have
      > commercial licenses, and both run on both OS X and Windows. Is there
      > another reason you cannot use them? Usually the concern is the other
      > way around, that the Qt and PyQt licenses aren't sufficiently free or
      > Free.
      >
      > Disclaimer: I have no financial or business ties to Trolltech or to
      > Riverbank.
      >
      > Regards,
      > Dan
      >[/color]

      Commercial Qt is a little out of my price range.

      --
      Kevin Walzer
      iReveal: File Search Tool

      Comment

      • dberlin@gmail.com

        #4
        Re: Yet another GUI toolkit question...

        What's wrong with wxPython? (http://www.wxpython.org)
        Didn't see it mentioned here.

        ----
        David Berlin
        http://farpy.holev.com - Python GUI Editor

        Comment

        • Chris Mellon

          #5
          Re: Yet another GUI toolkit question...

          On 2/10/06, Kevin Walzer <sw@wordtech-software.com> wrote:[color=blue]
          > ...with a twist.
          >
          > I'm undertaking my first semi-substantial Python GUI application after a
          > long time dabbling with the language.
          >
          > I'm fairly experienced with Tcl/Tk, so Tkinter seems the obvious choice
          > to reduce my Python learning curve. However, my Tcl applications
          > typically make use of a *lot* of extensions to the core widget set, such
          > as BWidgets, tablelist, and Tile.
          >
          > I've found minimal Tkinter wrappers for all of these extensions, but
          > they are all labelled "experiment al," lightly documented at best, and
          > little-used (as far as I can tell) by Python developers.
          >
          > So: my question is, would it be more productive for me to wrestle with
          > these extensions when there doesn't seem to be much constituency for
          > their use, or would it be better/faster/more efficient for me to start
          > scaling the wxPython mountain?
          >
          > For what it's worth, my application has to run on OS X and Windows, and
          > will be commercial, so this combination of requirements rules out
          > PyGTK/PyQt/just about every other cross-platform GUI toolkit.
          >[/color]

          If you're planning on selling an application, especially to OS X
          users, then Tk is absolutely out of the question. It doesn't have even
          the slightest resemblence to native behavior, and lacks the polish and
          flash that occasionally lets a non-native app get away with it. Given
          the limits you've stated, I believe your only options are wxPython and
          writting 2 guis using PyWin/PyObjC. The second option requires
          knowledge of the native tool sets for the respective platforms, so if
          you don't have that I can only suggest wxPython. If you're used to Tk
          you will face a learning curve, and you will need to look for or write
          replacements for the custom widgets you've been using.
          [color=blue]
          > Advice, especially from those Tkinter devs who look beyond the core
          > widget set for their apps, is appreciated!
          >
          > --
          > Kevin Walzer
          > iReveal: File Search Tool
          > http://www.wordtech-software.com
          > --
          > http://mail.python.org/mailman/listinfo/python-list
          >[/color]

          Comment

          • Florian Nykrin

            #6
            Re: Yet another GUI toolkit question...

            Hi Kevin!

            I have no experience with Tkinter, but I did some small GUIs with
            wxPython and PyGTK.

            wxPython works very well on Windows, but on Linux (Ubuntu/Debian in my
            case) it is very difficult to work with and buggy.
            PyGTK-Applications on the other hand maybe do not look totally like
            Windows-Apps, but they work equally good on both systems (and have
            native look when working with Gnome).

            I would take a look at PyGTK in combination with Glade, which is what I use.

            Regards, Florian.

            Comment

            • Grant Edwards

              #7
              Re: Yet another GUI toolkit question...

              On 2006-02-11, dberlin@gmail.c om <dberlin@gmail. com> wrote:
              [color=blue]
              > What's wrong with wxPython? (http://www.wxpython.org)[/color]

              Nothing. A lot of us use it.
              [color=blue]
              > Didn't see it mentioned here.[/color]

              I'm sorry, I didn't realize we were supposed to.

              You might want to check the wxpython mailing list if you want
              to see it mentioned more often.

              --
              Grant Edwards grante Yow! Why are these
              at athletic shoe salesmen
              visi.com following me??

              Comment

              • Grant Edwards

                #8
                Re: Yet another GUI toolkit question...

                On 2006-02-11, Florian Nykrin <fn-mail@t-online.de> wrote:
                [color=blue]
                > wxPython works very well on Windows, but on Linux (Ubuntu/Debian in my
                > case) it is very difficult to work with and buggy.[/color]

                That's odd. I've been using wxPython for many years on both
                Windows and on many distributions and haven't found a bug yet.
                I admit that wxWidgets doesn't have the most elegent API in the
                world...

                --
                Grant Edwards grante Yow! Thousands of days of
                at civilians... have produced
                visi.com a... feeling for the
                aesthetic modules --

                Comment

                • Kevin Walzer

                  #9
                  Re: Yet another GUI toolkit question...

                  dberlin@gmail.c om wrote:[color=blue]
                  > What's wrong with wxPython? (http://www.wxpython.org)
                  > Didn't see it mentioned here.
                  >
                  > ----
                  > David Berlin
                  > http://farpy.holev.com - Python GUI Editor
                  >[/color]
                  I did mention it...see "scaling the wxPython mountain."


                  --
                  Kevin Walzer
                  iReveal: File Search Tool

                  Comment

                  • Kevin Walzer

                    #10
                    Re: Yet another GUI toolkit question...

                    Florian Nykrin wrote:[color=blue]
                    > Hi Kevin!
                    >
                    > I have no experience with Tkinter, but I did some small GUIs with
                    > wxPython and PyGTK.
                    >
                    > wxPython works very well on Windows, but on Linux (Ubuntu/Debian in my
                    > case) it is very difficult to work with and buggy.
                    > PyGTK-Applications on the other hand maybe do not look totally like
                    > Windows-Apps, but they work equally good on both systems (and have
                    > native look when working with Gnome).
                    >
                    > I would take a look at PyGTK in combination with Glade, which is what I
                    > use.
                    >
                    > Regards, Florian.[/color]
                    Unfortunately, PyGTK does not run natively on the Mac (it's X11 only).


                    --
                    Kevin Walzer
                    iReveal: File Search Tool

                    Comment

                    • Lawrence Oluyede

                      #11
                      Re: Yet another GUI toolkit question...

                      Kevin Walzer <sw@wordtech-software.com> writes:
                      [color=blue]
                      > Unfortunately, PyGTK does not run natively on the Mac (it's X11 only).[/color]

                      There's some work in progress:


                      --
                      Lawrence - http://www.oluyede.org/blog
                      "Anyone can freely use whatever he wants but the light at the end
                      of the tunnel for most of his problems is Python"

                      Comment

                      • Peter Decker

                        #12
                        Re: Yet another GUI toolkit question...

                        On 2/10/06, Kevin Walzer <sw@wordtech-software.com> wrote:
                        [color=blue]
                        > I'm undertaking my first semi-substantial Python GUI application after a
                        > long time dabbling with the language.
                        >[/color]
                        ....[color=blue]
                        > So: my question is, would it be more productive for me to wrestle with
                        > these extensions when there doesn't seem to be much constituency for
                        > their use, or would it be better/faster/more efficient for me to start
                        > scaling the wxPython mountain?[/color]

                        If you're going cross-platform, then wxPython is the toolkit to use.
                        It looks and works correctly on all platforms.

                        I worked with wxPython for a couple of years, and constantly struggled
                        with the ugle, C++ style syntax, and then discovered Dabo. Dabo is a
                        full 3-tier application framework, and its UI tier wraps wxPython. So
                        while you're using wxPython when you use dabo.ui, you're writing
                        clean, Pythonic code. I found that after playing around with Dabo for
                        a little bit, I could write apps that worked without constantly going
                        to the docs to look up some obscure constant or event name. The
                        authors are also extremely helpful, so if write your app using Dabo,
                        I'm sure that you'll have tons of support.



                        --

                        # p.d.

                        Comment

                        • Robert Hicks

                          #13
                          Re: Yet another GUI toolkit question...

                          Wow you are so wrong about Tk on OSX. Soon this is just not going to be
                          the case at all for any of the system Tcl/Tk runs on. The Tcl folks
                          have come out with a package called "Tile" that is going to be rolled
                          in. It gives you native L&F on OSX, Windows, Linux.

                          Robert

                          Comment

                          • Steve Holden

                            #14
                            Re: Yet another GUI toolkit question...

                            Robert Hicks wrote:[color=blue]
                            > Wow you are so wrong about Tk on OSX. Soon this is just not going to be
                            > the case at all for any of the system Tcl/Tk runs on. The Tcl folks
                            > have come out with a package called "Tile" that is going to be rolled
                            > in. It gives you native L&F on OSX, Windows, Linux.
                            >[/color]
                            This is good news if it happens, but right now it's just another dose of
                            "real soon now".

                            regards
                            Steve
                            --
                            Steve Holden +44 150 684 7255 +1 800 494 3119
                            Holden Web LLC www.holdenweb.com
                            PyCon TX 2006 www.python.org/pycon/

                            Comment

                            • Kevin Walzer

                              #15
                              Re: Yet another GUI toolkit question...

                              Chris Mellon wrote:
                              [color=blue]
                              >
                              > If you're planning on selling an application, especially to OS X
                              > users, then Tk is absolutely out of the question. It doesn't have even
                              > the slightest resemblence to native behavior, and lacks the polish and
                              > flash that occasionally lets a non-native app get away with it. Given
                              > the limits you've stated, I believe your only options are wxPython and
                              > writting 2 guis using PyWin/PyObjC. The second option requires
                              > knowledge of the native tool sets for the respective platforms, so if
                              > you don't have that I can only suggest wxPython. If you're used to Tk
                              > you will face a learning curve, and you will need to look for or write
                              > replacements for the custom widgets you've been using.
                              >[/color]

                              Do these screenshots look "non-native" to you?





                              This application was developed in Tcl/Tk.

                              I think Tkinter is lagging behind Tk itself in terms of its advances
                              with theming and native look and feel, especially on OS X and Win XP.
                              Certainly a lot of Python developers don't seem well-informed about the
                              work that has been done to bring Tk back into the modern age. The
                              wrappers I mentioned above (some at a site that is offline but should be
                              back online shortly, I'm told) are bleeding-edge in Tkinter terms but
                              reflect work that started a couple of years ago in Tk. (The extension is
                              called "Tile" and will be part of the Tk core when it's released at v. 8.5).

                              That doesn't mean wxPython is out of the question. What I'm trying to
                              figure out is whether I will be up and running faster with Tkinter +
                              Tile (leaving me mainly to improve my proficiency with Python itself and
                              translate Tk into a Python idiom) or whether I should learn wxPython,
                              with its vastly different GUI paradigm, as well as Python.

                              If Tkinter + Tile + Bwidgets + Tablelist does the job, as I think it may
                              (and as it does with regular Tcl/Tk), then I will probably stick with
                              that. And perhaps I can then contribute some documentation somewhere on
                              how to use the Tile widgets in a Tkinter application, complete with
                              screen shots and working code for others to use. Such documentation is
                              sorely lacking right now.

                              The vast range of available GUI toolkits is one thing that partially
                              offsets Python's many virtues as a programming language. I realize I was
                              stepping into a fire swamp by even broaching the question. However, the
                              application I'm envisioning (accessing web services from a desktop GUI)
                              will benefit from the abundant Python libraries/wrappers that have
                              already been written, which are mostly lacking (or which would require
                              me to roll my own) in Tcl.


                              --
                              Kevin Walzer
                              iReveal: File Search Tool

                              Comment

                              Working...