Best GUI for small-scale accounting app?

C

Carlos Ribeiro

You might not really want a separate socket listener for each application.

You don't need a separate socket listener... CherryPy is fairly easy
to work with, and very pythonic IMHO. For a multi application
scenario, I would recommend installing each application as a subtree
of the main site: http://myserver:8000/app1,
http://myserver:8000/app2, and so on. It is possible to build it in
such a way that you can update a part of the site without the need to
bring it down, just by reloading the module and rebinding the value
stored at the cpg.root.<mountpoint> variable.

--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: (e-mail address removed)
mail: (e-mail address removed)
 
K

Kevin Walzer

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Diez B. Roggisch wrote:
|>Question for you, does Qt use the native Windows dialogs and widgets or
|>does it use its own? If the latter, how close are they to the native
|>look? Will they change appearance when a user chooses a different
|>theme in the Display Dialog?
|
|
| AFAIK they do all stuff themselves. And also AFAIK photoshop is created
| using qt.
|
|
PhotoShop is not created with Qt. I believe it's created with CodeWarrior.

PhotoShop Album is created with Qt--a very different beast.



- --
Cheers,

Kevin Walzer, PhD
WordTech Software--Open Source Applications and Packages for OS X
http://www.wordtech-software.com
http://www.smallbizmac.com
http://www.kevin-walzer.com
mailto:[email protected]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBxzrmJmdQs+6YVcoRAtcDAJ96YHfTfxxHKU4HT3uteBnmh95diQCfd+D+
lAhzXIeXPmihJgmTFhC8wJU=
=RU7/
-----END PGP SIGNATURE-----
 
J

John Machin

Thomas said:
Bulba! said:
I'll soon start development of a specialized small app and need
to choose GUI for it.

Quoting a somewhat popular german blogger, on the state of cross
platform Python GUI toolkits (http://blog.schockwellenreiter.de/7282):[snip]
mangelt an jeder Dokumentation (und ich habe weder Zeit noch Lust, mich
durchzuwursteln) und PyQt ist zwar etwas besser dokumentiert, aber
nicht

Babelfish gave up on "durchzuwursteln" and so did I --
"through-to-sausage-???" -- but the gist was plain enough :-(
 
P

Peter Otten

John said:
Thomas said:
Bulba! said:
I'll soon start development of a specialized small app and need
to choose GUI for it.

Quoting a somewhat popular german blogger, on the state of cross
platform Python GUI toolkits (http://blog.schockwellenreiter.de/7282):[snip]
mangelt an jeder Dokumentation (und ich habe weder Zeit noch Lust, mich
durchzuwursteln) und PyQt ist zwar etwas besser dokumentiert, aber
nicht

Babelfish gave up on "durchzuwursteln" and so did I --
"through-to-sausage-???" -- but the gist was plain enough :-(

Unauthorized translation, not idiomatic, but should beat babelfish any time:

"After some consideration I have decided that I am going to write programs
that need graphical output and a GUI in Java. I have been waiting for too
long for an improvement of the state of (cross-platform) GUIs in Python.
Tkinter is nothing but ill, wxPython doesn't seem too bad, but lacks
documentation (and I have neither time nor motivation to muddle through),
and PyQt, while a bit better documented, is not as widespread and governed
by a somewhat strange license. Swing on the other hand has an excellent
documentation, Eclipse has become usable, and Java itself has -- braces not
withstanding -- inherited just enough from Oberon that I don't suffer from
an allergic reaction when I have to use it."

Not my opinion by the way, I'm planning to give the sausage a try...

Peter
 
T

tfillmor

Personally I think the priority of all new project developmnent should
be based principally on web technologies, with OS-specific (i.e.,
desktop) versions only if there is absolutely no other way.

You should really try CherryPy (http://www.cherrypy.org) - for
Python-based web development I don't think you will be disappointed.
It's platform-agnostic, provides its own threaded webserver, supports
just about every templating schema out there for Python (and even
optionally one of it's own), is actively developed and projects can
even be run off a CD when deployed, if necessary.

I've written some smallish things using CherryPy and found it to be
easy to work with... The current version is 2.0 alpha (read the site
about this, some pretty serious changes were made between 1.x and 2.0
that only improve the project), but I always use the development
versions from svn. I know, I know, they are only development versions,
and shouldn't be deployed, right? This really doesn't worry me much as
there is a really good pace on the project's development and
essentially daily snapshot releases that, as of yet, have only improved
the speed of what I've coded when my code is run against the newer
versions. In fact I've never seen a cherryPy server/process crash,
although my code certainly does... :cool:

Give it a whirl!!

Tom Fillmore
 
P

Phil Thompson

I admit that I don't know much about Qt in Windows. As, I said, I've
never seen it. The fact that they don't offer a GPLed version for
Windows is a deterrent for me.

I have heard very nice things about Qt's api. I even bought a book on
it, but since the apps I've needed to write, had to be cross platform,
and were nicely done in wxPython/PythonCard on Windows *for free*, I
haven't been able to justify the time to look at it.

Question for you, does Qt use the native Windows dialogs and widgets or
does it use its own? If the latter, how close are they to the native
look? Will they change appearance when a user chooses a different
theme in the Display Dialog?

By default Qt uses it's own except for the file dialog. By default the
native file dialog is used (but it can be disabled by reseting a bool that
isn't wrapped by PyQt). The same applies to MacOS.

Phil
 
R

Richie Hindle

[Gerhard, quoting a blog]
wxPython doesn't seem bad, but it lacks any documentation

I see this a lot, and it baffles me. wxPython is a thin wrapper over
wxWidgets, which is very well documented. Where they differ, the
wxWidgets documentation discusses those differences. Add the excellent
wxPython demo, and you've got better documentation than some commercial
toolkits (MFC, for instance).

Is it just a communication problem - do newcomers not realise that the
wxWidgets documentation applies to wxPython?

(The latest version of the wxPython demo even lets you modify the demo
code at runtime, and compare the behaviour of your modified version with
the original, all without leaving the demo - fantastic! Huge thanks to
whoever did that.)
 
D

Dave Cook

I'll soon start development of a specialized small app and need
to choose GUI for it.

I've had success with pygtk on win32 and Linux (and OS X with the X11
server installed.)

http://www.pcpm.ucl.ac.be/~gustin/win32_ports/
http://gladewin32.sourceforge.net/index.php (for the C devel and runtime
packages)

The pygtk manual, tutorial, and FAQ are all very good. You don't have to
wade through C or C++ documentation.

The only complaints I have are that the glade GUI builder hasn't caught up
with gtk development (particularly the new UIManager), and that the list
widget is relatively slow.

Lately I've been evaluating jython and Swing, though.

Dave Cook
 
D

Dave Cook

I think I can put together a useable (but not visually stunning) web
interface faster than I can put together any pure client-side
interface.

Web browser "widgets" seem pretty limited to me, though. You don't even
have something as simple as a combo box (i.e. an editable entry with a drop
down), let alone the rich set of widgets something like wxwidgets offers.
Also web development doesn't seem as coherent to me as development with a
good GUI framework.

Dave Cook
 
E

Ed Leafe

The long lists of invoices, subcontractors and tasks (possibly
hundreds or thousands) will have to be displayed - which toolkit
is better for that in your experience?

I would appreciate anybody sharing their experiences with
relevant toolkits in development of this type of software
or similar.

You might want to check out Dabo, an application framework of which I
am one of the authors. We use wxPython as our UI toolkit, but have
streamlined the programming of the UI. We've also added data binding,
making developing apps that need to work with a database much, much
simpler.

Even though Dabo is still in development, I've used it to create an
app that helps me manage the archives of the technical email lists I
host (currently holding over a quarter-million rows).

___/
/
__/
/
____/
Ed Leafe
http://leafe.com/
http://dabodev.com/
 
J

Jarek Zgoda

Bulba! said:
- QT seems to be industrial-strength, but.. it's probably
more complex/difficult to use.

- wxPython/PythonCard is probably simple to use, but..
are there not some pitfalls that development will fall
into once the app starts growing (they all do)?

From my point of view, PyQt is easier to use (and is simpler, runs
faster, looks better on Linux etc), while wxPython is much cheaper (and
runs faster on Windows). As I am guerilla Python programmer (and try to
drive as much Python into company as I can), I use wxPython on Windows
platform as it doesn't trigger unnecessary questions on licensing,
pricing et caetera.

wxPython has very nice GUI builder (wxGlade), it is not about as
complete as Qt Designer, but speeds-up development significantly.
 
P

Paul Rubin

Dave Cook said:
Web browser "widgets" seem pretty limited to me, though.

You might not care.
You don't even have something as simple as a combo box (i.e. an
editable entry with a drop down),

Just put an input field and a dropdown on the page.
let alone the rich set of widgets something like wxwidgets offers.

The rich set of widgets is sort of like a rich set of fonts in a word
processor. Most of the time, your document can function perfectly
well with just one font.
Also web development doesn't seem as coherent to me as development
with a good GUI framework.

I'm not sure what that means. But yeah, any gui (web or client side)
tends to need a lot of tweaking.
 
B

Bulba!

You might want to check out Dabo, an application framework of which I
am one of the authors. We use wxPython as our UI toolkit, but have
streamlined the programming of the UI. We've also added data binding,
making developing apps that need to work with a database much, much
simpler.

This advice of yours (thanks) may have "slashdotted" your site by
flood of requests from Python programmers all looking at your
website. ;-)

"Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /."
 
K

kdahlhaus

ZOPE could provide the workaround but ZOPE seems really huge to
me and an overkill for this. Or maybe it would work?

I am intenionally *not* trying to argue web vs traditional gui for your
app, but to tuck away for future apps, CherryPy2 is a lot easier than
Zope to use and programming it does not require much of a learning
curve.

Recently I did a simple app that started as wx Windows, got bogged
down, and switched to CherryPy/Cheetah running locally on the users
station. I know more about wxWindows now than before, so perhaps
things would be different now, but at the time the gui was really
slowing my down my development. I had a hard time getting my hands
around the wxWindows sizers. They are simple in concept, but not easy
to learn at first in practice.

I went w/wxPython for a second app because of its printing capabilities
and the large number of controls that come with it. Otherwise I would
use pyFltk for small apps.
 
H

huy

Dave said:
Web browser "widgets" seem pretty limited to me, though. You don't even
have something as simple as a combo box (i.e. an editable entry with a drop
down), let alone the rich set of widgets something like wxwidgets offers.
Also web development doesn't seem as coherent to me as development with a
good GUI framework.

I think it depends on your target audience. Many people love simplicity.
Many people hate multiple tabs, tree structures, deep nested menus etc
etc. If you wanted to make a web program as complex as a rich client
program then it's probably a bad idea to do as a web program. But If you
wanted to keep it simple, then I'd go with a web program any day.


Huy
 
S

Steve Holden

huy said:
I think it depends on your target audience. Many people love simplicity.
Many people hate multiple tabs, tree structures, deep nested menus etc
etc. If you wanted to make a web program as complex as a rich client
program then it's probably a bad idea to do as a web program. But If you
wanted to keep it simple, then I'd go with a web program any day.

Indeed the best advice to many programmers is to spend A LOT of time
considering the user interface, since that's what will often have the
major impact on user experience, and hence ultimately on acceptance.

I still moan about having to use EIGHT mouse clicks in Mozilla 1.7 to
change my default SMTP host to the other one on a list of two. Which
remionds me, time to check out the latest release ...

regards
Steve
 
D

Dave Cook

You might not care.

And in that case Tk is much simpler than just about anything else, unless
looks are really important.
Just put an input field and a dropdown on the page.

Takes up twice as much space and is potentially confusing as the dropdowns
tend to look like real combo boxes in IE and Mozilla (only Konquerer seems
to make it visually clear that you can't edit the text.)
I'm not sure what that means.

Basically it means that I find it harder and less intuitive. I don't think
I'm stupid, just pragmatically lazy.

Dave Cook
 
P

Paul Rubin

Dave Cook said:
And in that case Tk is much simpler than just about anything else, unless
looks are really important.

I've used tk and I don't think it's simpler than html.
Takes up twice as much space and is potentially confusing as the dropdowns
tend to look like real combo boxes in IE and Mozilla (only Konquerer seems
to make it visually clear that you can't edit the text.)

I guess I'm not clear on when this is needed.
Basically it means that I find it harder and less intuitive. I
don't think I'm stupid, just pragmatically lazy.

I don't think you're stupid either, but it looks like what's intuitive
for you might be less intuitive for (some) other people, and vice
versa.
 
A

Al Christians

Web browser "widgets" seem pretty limited to me, though. You don't even
wxPython has an HTML control that lets you do most of your UI web-like
and just drop in the other wxWidgets kinds of controls here and there if
you need to. The html control does most of the rendering and such, and
you can do most of the user interaction with standard clickable links,
etc, but you can also mix in the full boat of high-powered gizmos to
perplex the users when you run out of other tactics and annoyances.

Is it pretty? As a conglomerate with features of a desktop app and
features of a browser-based app, it's kind of pretty like a platypus.
Platypus, penguin, or python, there's many a way to lay an egg.


Al
 

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. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,143
Latest member
DewittMill
Top