[Qt-interest] Design of an application using plugins
Alessandro Portale
Alessandro.Portale at trolltech.com
Wed Jun 3 15:10:33 CEST 2009
Hi Patric,
I understand that You would like to have some suggestions for a
feasability study, rather than all the details. Here my personal opinions:
QTabWidget offers all the API that you need to add remove and shuffle
around tabs at program runtime. The right horse to bet on :)
> 1. Is my idea right about the way making this program works with plugins ?
The idea is 'ideal' and Qt offers you a great way to implement a plugin
interface. However, my personal experience is that development with
plugins adds extra efforts and pitfalls to your development. You should
consider if You _really_ need plugins.
> 2. When I finish my project, do I have to make something like...
> installation package ? So the user can install my program, and what's
> the best way to do it with QT ?
Qt does not create installer packages. In order to do that, on Windows I
can suggest the great and free InnoSetup. There is also BitRock which is
cross platform. Simply take care that all Qt Dlls, plugins and resources
for your program, as well as the compilers runtime dlls get installed on
the clients system.
> 3. When the user (eventually) install my program, in there will be one
> plugin (.dll library) which will manage some default device. But there
> will come a time when there will be another new device, that must be
> managable with this program (user interface) and a new plugin,
> implementing the new device (few new tabs) will be created by me for
> example.
> At that point, how the user will get that plugin ? Will it be possible
> just to copy the new plugin in the program's directory and get it work
> automatically ?
Like point 2. Qt does not offer such an upgrade system. Are you sure
that you want to ship separate .dlls to your customer? The plugins might
work with the formerly installed 'main program' but only if the plugin
interfaces did not change at all. It is much safer to consider shipping
complete packages. InnoSetup, BitRock (and others) compress the data
well and usually can do smart upgrades.
> Please, help. Everything is so complicated that I'm gonna explode soon.
Just ask the list before that happens :)
Alessandro.
More information about the Qt-interest-old
mailing list