Qt bindings for D

Abdulhaq alynch4047 at gmail.com
Sun Oct 13 05:39:54 PDT 2013


Hi guys

a few months ago I tried to find working bindings for Qt and the 
best I could see was qtd. I tried compiling it but it didn't go 
too well on my Linux 64bit machine, and saw in the forums that 
the original developers had ceased maintaining it. Because I have 
been using Qt for around 10 years or so now (mainly from python 
but a little C++ too) I had a go at getting it to work again.

It took a few weekends but I got the main examples going (Core, 
GUI, XML etc) with Qt 4.8 and 2.062. I felt that I was having to 
do some rewinding of where the original developers were going (it 
seemed that they were trying to take QRect et al down the struct 
route, but my to my newbie eyes it seemed doomed because it was 
making assumptions about the way the C++ and D compilers were 
laying out the struct data that didn't work on my machine - but I 
could be wrong about that). Anyway I treated it as an educational 
exercise and make QRect et al. regular classes, and got it 
generally working again.

Then real life took over again and I had to shelve the project, 
but now I have a little spare time again. I suspect there are 
other developers such as myself out there who are keen to try D 
but would like to use it with Qt, so I thought I would let you 
know what I had done in case others were interested. I'm kind of 
hoping that someone will say that the job is already done, but I 
suspect that is not the case.

The original developers did a really great job of the wrapping 
and left the build system in a really good state too. However, 
there seems to be very little testing other than the standard qt 
examples themselves, so I can't be sure exactly where the 
wrapping stands. Although the original developers felt that it 
had some way to go before being really useful, it seems to me 
that they had achieved more than that and that some would want to 
use it as it stood.

Unfortunately the wrapping is based on QtJambi, which is now 
dead, but anyway it's easy with hindsight isn't it.

Is anyone else interested and can anyone help me with polishing 
it? It needs testing, trying out on Windows, and some 
improvements to the build system. I have very little time ATM but 
it would be good to capture where I've got to so that others 
could pick it up or just experiment with D and Qt.

regards
Abdulhaq





More information about the Digitalmars-d mailing list