473,846 Members | 1,891 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

[Business apps for Windows] Good grid + calendar, etc.?

Hello

Since Python is such a productive language, I'd really like to be
able to use it to write GUI apps for Windows, but business apps
require rich widgets like (DB)grids, calendars, etc.

The ones available in wxWidgets looked a bit too basic compared to
what's available for eg. Delphi or .Net, and don't seem to be under
active development (lots of "1.0", "Last updated 2005", etc.)

For instance, here's wxGrid and DevExpress' grid for Delphi:
http://www.simpol.com/guiimages/wxgrid.jpg
http://community.devexpress.com/blog...otGridForm.png

Is it hopeless, or did I overlook things? Are there other solutions I
should look at (FLTK, etc.)? For those of you writing business apps in
Python for Windows, how do things go as far as GUI widgets are
concerned?

Thank you.
Jun 1 '08 #1
15 2595
On Behalf Of Gilles Ganault
Is it hopeless, or did I overlook things? Are there other
solutions I should look at (FLTK, etc.)? For those of you
writing business apps in Python for Windows, how do things go
as far as GUI widgets are concerned?
To do a bit of shameless plugging, I wrote an overview of Python GUI
platforms for Windows a month or two ago:
http://ginstrom.com/scribbles/2008/0...g-platforms-fo
r-windows/

For your stated needs, I'd advise checking out IronPython or Python.NET
(which allow use of .NET GUI libraries).

Regards,
Ryan Ginstrom

Jun 1 '08 #2
On Sun, 1 Jun 2008 21:27:30 +0900, "Ryan Ginstrom"
<so******@ginst rom.comwrote:
>For your stated needs, I'd advise checking out IronPython or Python.NET
(which allow use of .NET GUI libraries).
Thanks but I forgot to say that I'd rather not use .Net because
deployment/updates are too problematic for our audience.

... that's assuming that a GUI Python can install/update itself as
easily as eg. Delphi, which is where I could be wrong :-/
Jun 1 '08 #3
On Behalf Of Gilles Ganault
Thanks but I forgot to say that I'd rather not use .Net
because deployment/updates are too problematic for our audience.

.. that's assuming that a GUI Python can install/update
itself as easily as eg. Delphi, which is where I could be wrong :-/
wxPython can be made to look pretty nice. Check out Chandler for an example.
http://chandlerproject.org/

Delphi has a truly impressive ecosystem of controls and widgets. If there
were a commercial market for wxPython/wxWidgets widgets, I'm sure we'd get a
bunch of very nice ones as well. There is kind of an analog with the
"bounty" program for developing widgets, but it doesn't appear very active.

If you don't mind being Windows-only, there's another approach that I've
been working on. I use a WTL application to host the web browser, then pass
the browser instance to a COM server written in Python, along with a COM
wrapper of the application window. This gives me the flexibility of HTML +
JavaScript + Python, but eliminates two of the big issues with web apps:
latency and lack of Windows conventions like keyboard shortcuts and Drag &
Drop. I've yet to deploy this approach in an application, but from my
prototypes I'm liking it.

Regards,
Ryan Ginstrom

Jun 1 '08 #4
On Jun 1, 6:59*am, Gilles Ganault <nos...@nospam. comwrote:
Hello

* * * * Since Python is such a productive language, I'd really like to be
able to use it to write GUI apps for Windows, but business apps
require rich widgets like (DB)grids, calendars, etc.

The ones available in wxWidgets looked a bit too basic compared to
what's available for eg. Delphi or .Net, and don't seem to be under
active development (lots of "1.0", "Last updated 2005", etc.)

For instance, here's wxGrid and DevExpress' grid for Delphi:http://www.simpol.com/guiimages/wxgr...XtraPivotGridF...

Is it hopeless, or did I overlook things? Are *there other solutions I
should look at (FLTK, etc.)? For those of you writing business apps in
Python for Windows, how do things go as far as GUI widgets are
concerned?

Thank you.

The wxPython GUI is updated much more often than the Tkinter toolkit.
I recall that there is an advanced calendar widget that's been made by
one of the regulars on the wxPython list, but it's not a part of the
official distribution at this time. You'll have to ask about calendar
widgets and such there though.

The grid can be quite advanced. Did you look at the wxPython demo? Or
Dabo?

Mike
Jun 1 '08 #5
On Sun, 1 Jun 2008 21:59:29 +0900, "Ryan Ginstrom"
<so******@ginst rom.comwrote:
>wxPython can be made to look pretty nice. Check out Chandler for an example.
http://chandlerproject.org/
Yup, they developped some nice-looking widgets, but it doesn't seem
like there's an ecosystem around wxWidgets. I, for one, wouldn't mind
paying for widgets missing from the stock version.
>If you don't mind being Windows-only, there's another approach that I've
been working on.
Thanks for the idea, but I don't have the skills for something like
that :-) Besides, the reason for Python is to make it faster/easier to
write apps, so WTL + browser + COM seems too hard for me.
Jun 1 '08 #6
On Sun, 1 Jun 2008 06:00:03 -0700 (PDT), Mike Driscoll
<ky******@gmail .comwrote:
>I recall that there is an advanced calendar widget that's been made by
one of the regulars on the wxPython list, but it's not a part of the
official distribution at this time. You'll have to ask about calendar
widgets and such there though.
The impression I get, is that those extra widgets (besides the usual
edit, listbox, etc.) aren't really developped/maintained, which is a
problem when comitting for applications that will have to be
developped for a few years.

For instance, is there a calendar in wxPython that has this look and
feel, and is under active development?
http://www.devexpress.com/Products/VCL/ExScheduler/
>The grid can be quite advanced. Did you look at the wxPython demo? Or
Dabo?
Yes, but although the basic wigets are just fine, wxGrid looks a bit
like the basic TStringGrid in Delphi, ie. it's pretty basic so that
several vendors came up with enhanced alternatives. But maybe I
haven't played with it long enough.

http://www.asiplease.net/computing/d...o_popstars.gif

It lacks sorting capability, merging cells with the same content, etc.
Jun 1 '08 #7
Ryan,

<snip>
If you don't mind being Windows-only, there's another approach that I've
been working on. I use a WTL application to host the web browser, then
pass
the browser instance to a COM server written in Python, along with a COM
wrapper of the application window. This gives me the flexibility of HTML
+
JavaScript + Python, but eliminates two of the big issues with web apps:
latency and lack of Windows conventions like keyboard shortcuts and Drag
& Drop.
</snip>

Instead of the COM approach, have you considered using a local, client
based Python server as a container for your business logic and GUI
(DHTML, AJAX)? This would give you a cross platform solution, without
the typical browser/server latency, and via techniques like AJAX,
perhaps more of a desktop look and feel? I haven't done this yet, but
I'm grappling with the same question ("how to create sexy looking
business applications using Python").

Malcolm

Jun 1 '08 #8
From: py****@bdurham. com [mailto:py****@b durham.com]
Instead of the COM approach, have you considered using a
local, client based Python server as a container for your
business logic and GUI (DHTML, AJAX)? This would give you a
cross platform solution, without the typical browser/server
latency, and via techniques like AJAX, perhaps more of a
desktop look and feel? I haven't done this yet, but I'm
grappling with the same question ("how to create sexy looking
business applications using Python").
I have used a cherrypy server wrapped with py2exe for a "desktop server
app", but the local server in the browser solution has some weaknesses. Drag
and drop is one. Another is native dialog boxes. A third is problems with
firewalls. And although you can do keyboard shortcuts with Ajax, the
mechanism isn't quite the same.

Also, using COM you can manipulate the DOM from Python, removing the need
for AJAX. In that case, your only need for JavaScript would be for prebuilt
library functionality (assuming you like Python better than JavaScript).

Regards,
Ryan Ginstrom

Jun 1 '08 #9
On Sun, 01 Jun 2008 11:24:17 -0400, py****@bdurham. com wrote:
>Instead of the COM approach, have you considered using a local, client
based Python server as a container for your business logic and GUI
(DHTML, AJAX)?
But web-based apps are even worse, since the set of widgets is even
more basic, and web programming is hell. That's why I don't bother,
and write fat apps instead.

It'd be awesome if someone came up with a commercial offer of widgets
that are either missing or not feature-rich enough in wxPython for
real business apps.
Jun 1 '08 #10

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

Similar topics

31
2763
by: Carlos Ribeiro | last post by:
Hello all. I'm in the process of writing a business app in Python. (defining business app: data entry, validation, interactive reports, etc). For my purposes, it must be a native app (wxWidgets, GTK or Qt-based). A web application will not do it (although I would love it). To make a long history short: I used to develop business apps for a living for a long time (up to the mid 90s). My last experiences were with Delphi and VB. I know...
12
23911
by: Anthony Robinson | last post by:
Is anyone aware of a function (system or user defined) that will calculate business days? For instance: I have a column in as table called DATE. I want to be able to add five business days to that date and come up with a new date. Is that possible. Also, is there anyway that DB2 can be aware of holidays? Maybe load them onto the server in some type of reference file or something. I ask these questions because I'm working on a banking...
10
3167
by: Sarah Smith | last post by:
Hello, I am a bit of a newbie to VB.NET, but not totally new. I took the plunge recently and decided (along with my colleagues), to try to convert/port a VB6 client/server app to .Net. (I'm not using any upgrade tools, I'm just re-writing). I have be learning/testing .net with SDI type forms and now I'm actually working on the conversion, I'm starting to worry that VB.net
3
1777
by: moondaddy | last post by:
I'm wanting to create a bindable list object made up of a list of business classes. I'm writing this in a vb.net 1.1 winforms app and am using a code example by Rocky Lhotka for reference material: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet02252003.asp which makes use of the IEditableObject interface. My situation is that my business class manages data for a table which has about 20 columns all...
18
2875
by: D Witherspoon | last post by:
I am developing a Windows Forms application in VB.NET that will use .NET remoting to access the data tier classes. A very simple way I have come up with is by creating typed (.xsd) datasets. For example dsParts.xsd and including that in the data tier. I then will create a class that looks like this Public Class CPart Inherits dsParts
1
1424
by: Nemisis | last post by:
Hi everyone, We are currently re-developing our software, to asp.net 2.0 and taking a 3 tier architecture. I have been thinking about it, and i think that it belongs in the business tier. Another thing is am thinking about is what sort of caching should be done, because i really dont want to tie the business layer to only web
7
25998
by: Sam | last post by:
Hi, I use C# in my ASP.NET projects. Here's what I need to do: I want to add x business days to a given date i.e. add 12 business days to today's date. What is the best, fastest and most efficient way for me to do this? -- Thanks, Sam
25
2785
by: Penelope Dramas | last post by:
Hello, I'm in a front of very serious .net redesign/rewrite of an old VB6 application. I had been asked to make it .NET 2.0 and would like to ask couple of questions regarding data access as this application is heavily data-centric around MSDE database. Would it be better to use custom business objects or extend
14
184
by: Gilles Ganault | last post by:
Hello Since Python is such a productive language, I'd really like to be able to use it to write GUI apps for Windows, but business apps require rich widgets like (DB)grids, calendars, etc. The ones available in wxWidgets looked a bit too basic compared to what's available for eg. Delphi or .Net, and don't seem to be under active development (lots of "1.0", "Last updated 2005", etc.)
0
9879
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9725
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10976
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10330
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7877
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
7050
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 then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5714
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
4111
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3157
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.