www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Anyone working on updated Qt bindings?

reply Jeremy DeHaan <dehaan.jeremiah gmail.com> writes:
I know a lot of people wish they had new bindings for Qt, so I 
was going to give it a go soon. Is anyone currently working on 
such a thing? I'd rather help someone than compete with them.
Oct 02 2015
next sibling parent reply Israel <tl12000 live.com> writes:
On Saturday, 3 October 2015 at 01:58:01 UTC, Jeremy DeHaan wrote:
 I know a lot of people wish they had new bindings for Qt, so I 
 was going to give it a go soon. Is anyone currently working on 
 such a thing? I'd rather help someone than compete with them.
btw i see youve made some changes to DSFML. DSFML master is broke with symbol and linking problems. I dont know how to fix.
Oct 02 2015
parent Jeremy DeHaan <dehaan.jeremiah gmail.com> writes:
On Saturday, 3 October 2015 at 06:33:32 UTC, Israel wrote:
 On Saturday, 3 October 2015 at 01:58:01 UTC, Jeremy DeHaan 
 wrote:
 I know a lot of people wish they had new bindings for Qt, so I 
 was going to give it a go soon. Is anyone currently working on 
 such a thing? I'd rather help someone than compete with them.
btw i see youve made some changes to DSFML. DSFML master is broke with symbol and linking problems. I dont know how to fix.
A little off topic to my question, don't you think? :P Yes I did make a bunch of changes to DSFML, and unfortunately I got ahead of myself when I pushed the code back into master. I had some issues packaging stuff, and I couldn't finish so I didn't make an announcement like I had planned. Basically there is a new back end that fixed a bunch of stuff, so that is your issue. You'll need to build it yourself, but it is super easy. See build tutorial here: http://dsfml.com/docs/buildingfromsource.html
Oct 03 2015
prev sibling next sibling parent Suliman <evermind live.ru> writes:
On Saturday, 3 October 2015 at 01:58:01 UTC, Jeremy DeHaan wrote:
 I know a lot of people wish they had new bindings for Qt, so I 
 was going to give it a go soon. Is anyone currently working on 
 such a thing? I'd rather help someone than compete with them.
I tried to use https://github.com/filcuc/DOtherSide (QML) and it's work pretty fine (even on Windows)
Oct 03 2015
prev sibling next sibling parent Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 3 October 2015 at 11:58, Jeremy DeHaan via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 I know a lot of people wish they had new bindings for Qt, so I was going to
 give it a go soon. Is anyone currently working on such a thing? I'd rather
 help someone than compete with them.
Oct 03 2015
prev sibling next sibling parent reply Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 3 October 2015 at 11:58, Jeremy DeHaan via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 I know a lot of people wish they had new bindings for Qt, so I was going to>
give it a go soon. Is anyone currently working on such a thing? I'd rather
 help someone than compete with them.
I've spent about 2 weeks trying to get the latest Qt bound up... it's a LOT of work, but I have done a fair bit of core stuff. I can commit it somewhere if you wanna hack at it too...
Oct 03 2015
parent reply Jeremy DeHaan <dehaan.jeremiah gmail.com> writes:
On Saturday, 3 October 2015 at 08:25:25 UTC, Manu wrote:
 On 3 October 2015 at 11:58, Jeremy DeHaan via Digitalmars-d 
 <digitalmars-d puremagic.com> wrote:
 I know a lot of people wish they had new bindings for Qt, so I 
 was going to> give it a go soon. Is anyone currently working 
 on such a thing? I'd rather
 help someone than compete with them.
I've spent about 2 weeks trying to get the latest Qt bound up... it's a LOT of work, but I have done a fair bit of core stuff. I can commit it somewhere if you wanna hack at it too...
Yeah,that'd be great. I'm only interested in working on the latest Qt. You said two weeks and that's just been the core stuff. Are you doing the binding by hand?
Oct 03 2015
next sibling parent Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 4 October 2015 at 02:43, Jeremy DeHaan via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 On Saturday, 3 October 2015 at 08:25:25 UTC, Manu wrote:
 On 3 October 2015 at 11:58, Jeremy DeHaan via Digitalmars-d
 <digitalmars-d puremagic.com> wrote:
 I know a lot of people wish they had new bindings for Qt, so I was going
 to> give it a go soon. Is anyone currently working on such a thing? I'd
 rather
 help someone than compete with them.
I've spent about 2 weeks trying to get the latest Qt bound up... it's a LOT of work, but I have done a fair bit of core stuff. I can commit it somewhere if you wanna hack at it too...
Yeah,that'd be great. I'm only interested in working on the latest Qt. You said two weeks and that's just been the core stuff. Are you doing the binding by hand?
When I say 2 weeks, I don't mean like, full-time day-job type thing, just tinkering some nights. But yeah, by hand (ie, lots of regex-ing). It's hard to automate, but an automated solution would surely be preferable, otherwise this will be a maintenance nightmare. The core stuff is the hardest bit, and requires the most manual intervention. Sooooo many macros, and various platform abstractions. The majority of feature headers may be automatable. The main thing I wanted to do with this binding was to eliminate moc. You shouldn't need to run moc; D can do that work right on the spot.
Oct 03 2015
prev sibling next sibling parent Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 4 October 2015 at 10:09, Manu <turkeyman gmail.com> wrote:
 On 4 October 2015 at 02:43, Jeremy DeHaan via Digitalmars-d
 <digitalmars-d puremagic.com> wrote:
 On Saturday, 3 October 2015 at 08:25:25 UTC, Manu wrote:
 On 3 October 2015 at 11:58, Jeremy DeHaan via Digitalmars-d
 <digitalmars-d puremagic.com> wrote:
 I know a lot of people wish they had new bindings for Qt, so I was going
 to> give it a go soon. Is anyone currently working on such a thing? I'd
 rather
 help someone than compete with them.
I've spent about 2 weeks trying to get the latest Qt bound up... it's a LOT of work, but I have done a fair bit of core stuff. I can commit it somewhere if you wanna hack at it too...
Yeah,that'd be great. I'm only interested in working on the latest Qt. You said two weeks and that's just been the core stuff. Are you doing the binding by hand?
When I say 2 weeks, I don't mean like, full-time day-job type thing, just tinkering some nights. But yeah, by hand (ie, lots of regex-ing). It's hard to automate, but an automated solution would surely be preferable, otherwise this will be a maintenance nightmare. The core stuff is the hardest bit, and requires the most manual intervention. Sooooo many macros, and various platform abstractions. The majority of feature headers may be automatable. The main thing I wanted to do with this binding was to eliminate moc. You shouldn't need to run moc; D can do that work right on the spot.
Here: https://github.com/TurkeyMan/qt-d Note, this doesn't even come close to compiling... I basically just renamed all the .h files, got some of the Qt sample apps, translated those main.cpp files to D, and started trying to build. Then just working through compile errors, with each class of error being formed to the best regex I could muster and applying it across the board. Going for the simplest and most regex-able errors first (you'll find very little in the way of relevance regarding what is and isn't done), so that I could translate as much of the code as close to D as I can before having to deal with the harder ones.
Oct 03 2015
prev sibling parent reply Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 4 October 2015 at 10:24, Manu <turkeyman gmail.com> wrote:
 On 4 October 2015 at 10:09, Manu <turkeyman gmail.com> wrote:
 On 4 October 2015 at 02:43, Jeremy DeHaan via Digitalmars-d
 <digitalmars-d puremagic.com> wrote:
 On Saturday, 3 October 2015 at 08:25:25 UTC, Manu wrote:
 On 3 October 2015 at 11:58, Jeremy DeHaan via Digitalmars-d
 <digitalmars-d puremagic.com> wrote:
 I know a lot of people wish they had new bindings for Qt, so I was going
 to> give it a go soon. Is anyone currently working on such a thing? I'd
 rather
 help someone than compete with them.
I've spent about 2 weeks trying to get the latest Qt bound up... it's a LOT of work, but I have done a fair bit of core stuff. I can commit it somewhere if you wanna hack at it too...
Yeah,that'd be great. I'm only interested in working on the latest Qt. You said two weeks and that's just been the core stuff. Are you doing the binding by hand?
When I say 2 weeks, I don't mean like, full-time day-job type thing, just tinkering some nights. But yeah, by hand (ie, lots of regex-ing). It's hard to automate, but an automated solution would surely be preferable, otherwise this will be a maintenance nightmare. The core stuff is the hardest bit, and requires the most manual intervention. Sooooo many macros, and various platform abstractions. The majority of feature headers may be automatable. The main thing I wanted to do with this binding was to eliminate moc. You shouldn't need to run moc; D can do that work right on the spot.
Here: https://github.com/TurkeyMan/qt-d Note, this doesn't even come close to compiling... I basically just renamed all the .h files, got some of the Qt sample apps, translated those main.cpp files to D, and started trying to build. Then just working through compile errors, with each class of error being formed to the best regex I could muster and applying it across the board. Going for the simplest and most regex-able errors first (you'll find very little in the way of relevance regarding what is and isn't done), so that I could translate as much of the code as close to D as I can before having to deal with the harder ones.
Files like qatomic, qtypetraits, qtypeinfo, qglobal, qsystemdetection, qprocessordetection, qcompilerdetection, qobject, etc, etc... they are just brute-force work by hand. There's no way to automate this mess. It's a sea of #define.
Oct 03 2015
parent MGW <mgw yandex.ru> writes:
This is primer program on QtE
----------------------------------------------------
import std.stdio;        // writeln
import core.runtime;     // Processing of input parameters
import std.net.curl: get;
import qte;              // work with Qt

class Exam: QMainWindow {
     this() {
		super();
	}
}
	
int main(string[] args) {
     // Test load library. '--debug' start in debug state.
     bool fDebug; foreach(arg; args) if (arg=="--debug") fDebug = 
true;
     int rez = LoadQt( dll.Core | dll.Gui | dll.QtE, fDebug); if 
(rez==1) return 1;  // Error load QtE
     QApplication app = new QApplication(&Runtime.cArgs.argc, 
Runtime.cArgs.argv, 1);
     // ----------------------------------

     Exam ex = new Exam();
     ex.show();

     // The main body of the program ..

     // ----------------------------------
     return app.exec();
}
---------------------------------------------------------

screenshot QtE on Windows and Linux
http://qte.ucoz.ru/QtE_win_2.png
http://qte.ucoz.ru/QtE_linux_2.png
Nov 13 2015
prev sibling next sibling parent Abdulhaq <alynch4047 gmail.com> writes:
On Saturday, 3 October 2015 at 01:58:01 UTC, Jeremy DeHaan wrote:
 I know a lot of people wish they had new bindings for Qt, so I 
 was going to give it a go soon. Is anyone currently working on 
 such a thing? I'd rather help someone than compete with them.
I got quite far for Qt4 with https://github.com/alynch4047/smidgen and https://github.com/alynch4047/sqt . It's based on the sip bindings used for PyQt and for various reasons doesn't use externC++ etc (though that's easily changed) (I stuck to extern C). It handles virtual functions, namespaces etc. I based it on PyQt4/sip because it means that a lot of work has already been done, and it's a Qt wrapping technology that I've had a lot of experience with and know that it works very well. The code is well tested and I think isn't too far from covering most of Qt4. Only tested on Linux 64bit. I stopped development due to lack of time and a concern that Qt4 was on its way out and Android / iOS / Java / Web were the realistic future (somewhat unfortunately).
Oct 03 2015
prev sibling parent reply Ramon <midiway midi.rs> writes:
Just for note, you can make desktop D applications in 
HTML/CSS3/scripting using https://github.com/midiway/sciter-dport
Nov 13 2015
parent reply karabuta <karabutaworld gmail.com> writes:
On Friday, 13 November 2015 at 20:03:38 UTC, Ramon wrote:
 Just for note, you can make desktop D applications in 
 HTML/CSS3/scripting using 
 https://github.com/midiway/sciter-dport
May be Github's Electron or D's webview bindings(which also abstracts too much, with too much weird naming conventions) IMO.
Nov 13 2015
parent Ramon <midiway midi.rs> writes:
On Friday, 13 November 2015 at 21:30:34 UTC, karabuta wrote:
 On Friday, 13 November 2015 at 20:03:38 UTC, Ramon wrote:
 Just for note, you can make desktop D applications in 
 HTML/CSS3/scripting using 
 https://github.com/midiway/sciter-dport
May be Github's Electron or D's webview bindings(which also abstracts too much, with too much weird naming conventions) IMO.
No, there is a lot of difference between engines. Chromium is tailored for web-browsers, while Sciter goal is for making desktop apps, so it is more lighweight and flexible. Electron is a binary distribution so its pretty hard to mix any new native code. You don't need to know nothing about Sciter API to start off, you can just download a project from http://misoftware.rs/Bootstrap and just write the HTML, the code will teach you by itself, you learn as you go, and it is flexible because you have access to all native source-code involved, unlike Electron.
Nov 13 2015