PyQT app accessible over network?

Michael Torrie torriem at gmail.com
Thu Feb 21 11:55:07 EST 2013


On 02/21/2013 09:22 AM, Monte Milanuk wrote:

> What I was wondering is what would be a good way of handling this with a 
> PyQt app?  Build the desktop app first, and add some sort of 
> functionality to enable a lightweight web server and framework for the 
> additional data entry 'clients'?  Or would it be better to create 
> dedicated PyQt client apps to connect to the PC/laptop running the 
> 'main' application?  Should I go a different direction entirely, with a 
> complete self-hosted webapp built on a framework like web2py?

A webapp is probably the most flexible way forward.  That way the client
is just the web browser.  And this route does not need to preclude using
a standalone app.  Of course there are lots of ways of doing
client/server development.

What I would do is design your database and business logic code using a
web framework, like Django.  Use it's own ORM system, or use something
like SQLalchemy.  You needn't build a web client if you want to stick
with your standalone apps.  Instead of writing html views for the web
browser to render, you would instead create views that speak some form
of remote procedure call, like REST, XMLRPC, or even soap.

http://maxivak.com/rest-vs-xml-rpc-vs-soap/

Libraries are available for python to connect to the server and issue
calls in a familiar way (just like normal python function calls).

> As you can probably tell, I have only a vaguely fuzzy idea of 'how' at 
> this point... but I would like to be able to proceed with some 
> confidence that as I get further down the road I'm not going to run into 
> a dead-end and have to start over down a different path.

A web-app with a webservice API exposed, or even a web client is not
going to be a dead-end.  In fact I think the web service idea is going
to be far more flexible than developing your own protocol.  Particularly
if you do want a web-based client down the road.



More information about the Python-list mailing list