The Current Status of DQt

Russel Winder via Digitalmars-d digitalmars-d at puremagic.com
Sat May 3 08:34:38 PDT 2014


On Sat, 2014-05-03 at 11:00 +0000, w0rp via Digitalmars-d wrote:
[…]
> 2. I have not yet implemented signals and slots. Two options for 
> this involve generating QMetaObject instances for classes, 
> possibly via template mixins, which do what 'moc' does for C++. A 
> second option is to use Qt5 for the library and to force all 
> signals and slots behaviour to go through functions, as Qt5 can 
> use function pointers as slots. (I prefer option 2.)

It's Qt, signals and slots are necessary!

>From a personal perspective I only care about Qt5 and in particular QML.

> So, I am eager to hear what people think about all of this. Does 
> anyone like the work that I have done, and will it be useful? 
> Have I committed some terrible crime against nature, for which I 
> must be punished? Does anyone have any ideas about things that 
> could be improved, or where to go next? Please, let me know.

Whilst GtkD works and I am using it for a small GNOME-based project, Qt
is a better choice for systems that are to work on GNOME, OSX, KDE,
Android, and even Windows. QtD appears to have died, though Michael
Crompton has been trying to get it going again:
https://bitbucket.org/michaelc37/qtd-experimental

> My progress has been somewhat slow in writing all of this, as I 
> have been writing it mostly in the evenings, moslty during 
> weekdays, after my day job. I've also been running into problems 
> for which there are no easy answers, possibly no documentation 
> for, and so on. So a great deal of my time has been spent more on 
> thinking of what to do next, rather than writing anything. (It 
> took me possibly months to come up with the resource management 
> scheme that I have now.)

I suspect there is a "chicken and egg" situation here: D doesn't have a
strong Qt offering, so people do not use D for Qt work, and no-one is
using Qt and D so there is no resource to ensure a strong Qt offering
for D.

This cycle got broken for Go when Gustavo Niemeyer decided his group in
Canonical would use Go and QML and so he created the Go support for QML
on company time. He has focussed entirely on support for QML, and not
worried about providing a complete Go binding to Qt. Much of it is
there, but only with a view to supporting the QML aspects of things.
This has meant that Go+QML is really rather good.

I wonder if instead of trying to create a D binding to Qt, DQt (or QtD),
following Gustavo's approach with Go and just providing a D binding to
QML would get further faster.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



More information about the Digitalmars-d mailing list