4 ms·
What about Qt? Doesn't it have something similar? As a cross-platform C++ Builder replacement, I have been using wxFormBuilder and wxWidgets in the past. There
by babuskov 7y ago
What about Qt? Doesn't it have something similar?
As a cross-platform C++ Builder replacement, I have been using wxFormBuilder and wxWidgets in the past. There are some manual steps, but it let's you build a GUI quickly, hook up event handlers and then write implementation code in a derived class, so that stuff generated by GUI editor doesn't rewrite your code.
- pjmlp 7y agoNot 100% alike, because it depends on QML/JavaScript and lacks the eco-system of third party components. Thanks for the wxFormBuilder and wxWidgets reference, I always saw them as a MFC wannabe and don't have any experience with them.
- gnud 7y agoYou can still use QWidgets, which is more similar to VCL. There are third-party components (for example the open-source Qwt [0]), but probably fewer than you find for VCL :) 0: https://qwt.sourceforge.io/ https://qwt.sourceforge.io/
- pjmlp 7y agoQWidgets are stuck in desktop deployment scenarios, with QML taking front row for everthing else, something that they plan to change with Qt 6, which remains to be seen in what form it will be done. Qwt is not the same as the commercial support from component oriented companies, including the UI/UX care of some components.
- Crinus 7y agowxFormBuilder and wxWidgets is indeed "Dialog Resource Editor and MFC" wannabe, though more cross platform, with a nicer API and with more features. Also wxWidgets is actually what people think MFC was (a layer on top of Win32/native API) instead of what it really was (a C++ extension utility of Win32 that did not try to hide Win32 API). wxFormBuilder is nicer than Qt Designer but they are both essentially based on the same core idea of designing a dialog visually and then wiring everything by hand (code). In another comment above i go into more details, but i guess you already know most of that :-P.
- 72deluxe 7y agowxWidgets is worth looking at. I use it and really enjoy using it. Used it for a largish cross-platform job a few years ago which is why I think all the modern garbage like Slack and Electron-based apps is sheer laziness. The forum can be a bit quiet sometimes but you'll likely get a response. Bug reports and stackoverflow questions also might get some help. Much preferrable to me than the MFC stuff I had to use at work for years. wxWidgets is actually nice to use and can have bind/connect instead of macros for event handling, as well as CallAfter(...) for easy firing of events from background threads etc. Great toolkit.
- Crinus 7y agoNo. Qt and C++ Builder are very different. Qt with Qt Designer is much closer to wxWidgets with wxFormBuilder than C++ Builder, but from my experience so far (i am working with Qt+Qt Designer at day job and worked with wxWidgets and wxFormBuilder at previous job) Qt Designer feels like an alpha product at best when compared to wxFormBuilder. It is interesting that Qt as an API feels more polished, but the designer is barebones whereas wxWidgets as an API is a bit more clunky but the designer is much more polished (wxFormBuilder is the most common one, though there is also wxSmith which is a commercial designer that is supposedly better - though i never used it myself). In comparison at least, wxFormBuilder does have its own warts. Though you use both in essentially the same way you'd use MFC with Dialog Resource Editor in Windows 3.0 - just with a bit more features and an easier API. But the core ideas behind the workflow remains the same. In C++ Builder, even the original version from 1996, is much easier to work with because you design the UI and assign the handlers in a visual way. You are also working with live objects instead of stand-ins (when you create a control or other -nonvisual- component, you compile it into a DLL and the IDE loads and creates an instance of that DLL that you are editing through the rich RTTI it has - this relies on extensions to Delphi/C#-like C++ language). Your form is serialized as a resource inside the executable and deserialized when it is instantiated. The IDE uses RTTI (remember that this is richer than C++'s regular RTTI) to manipulate the objects, create event handlers (just double click a button or click on a menu and the IDE will create the methods for you - update the header file, write the method body, associate the handler with the event, etc). When you drop a component in a form, it will automatically add any necessary header file #include's at your code (later versions of C++ Builder will also automatically add any necessary includes if you use any function the IDE knows of - like a stdlib function or a function from another file). In general the IDE will do most of the work for you, you focus on the "meat" of your applications and any busywork/pumbling/boilerplate is handled by the IDE. I have heard that QtCreator does provide something similar, but from the very little i've used it, it looks that these "whispers" come from people who haven't really used (or understood) C++ Builder as it feels more like how Visual Studio integrated the Resource Editor that back in the day used to be a standalone application inside its UI but still acts as if it was a separate application, than a really interwoven integration like VCL (C++ Builder/Delphi's framework) and C++ Builder have. But truth be told, i have used QtCreator very little to judge properly - i'll need to do a more in-depth experiment (though again, i never had to do that with C++ Builder or Delphi). (as a sidenote, in general i have a bias against anyone that only focuses on the form designer aspect of C++ Builder/Delphi when comparing it to some other supposedly similar tool as the form builder is only the tip of the iceberg that only works as well because of the rest of the iceberg beneath it) Now if modern C++ Builder wasn't such an overpriced DRM-infested PITA it'd be nice. Though like with Delphi, if $whoeverownsittoday decided to release a cheap (similar to their mid-90s prices) DRM-free version (especially on a box, though i'm ok with an installer or ISO i can keep on my own media) i'd (most likely) buy it instantly. Though their community editions are free (but with a bad license that says you can use it only if you make up $5k annually and still needs activation that can go away at any time they feel like) so if you just want to play around they're fine.