Alternative to VCL on C++Builder - c++

So I'm working at a company and they've been using VCL for GUI development since forever. I'm rather newbie at creating GUI for Windows, but I dislike the options and limitations of the VCL. So I started looking around for other alternatives, are there something better out there?
I've read a lot about WCF but it's Visual Studio only. I also found about QT, but I'm not sure how would I pair C++Builder and the QT Designer software. Is there a package available?
Or if there is a better solution for Windows GUI development with C++Builder - we're using CodeGear's C++Builder 2007 - could you recommend it?
Thanks!

You can use Qt with Builder in conjunction with qmake or cmake(both tools are for project files generation). Well, you can use it with Builder without those generators but then you will have to write all MOC rules yourself and it is a tiresome job.
So my suggestion is to use Qt instead of VCL, especially relatively new Qt feature - Qt Quick which allows you to write UI in declarative fashion

wxWidgets (http://www.wxwidgets.org/) works with C++ Builder, but i am interested to know why you are stuck with C++ Builder? time to move on buddy, I would suggest to move toward QT and use its own QT Creator, Or go for .Net if you prefer.

Related

Use Qt codes in C++

I have some codes in Qt Creator that work properly. I need to use this codes but in win32 application in .net framework. Does anyone have any idea how can I do this? I am totally new to Qt and do not know how to use this useful codes in c++ project?
I appreciate any help in advance
I think I could not get my message across. Qt is c++ but It has some differences with the native c++ app that we use in .net framework. so I can't just copy all the codes in my project to run it properly. Can we make a dll or library to use this qt code in .net or not? and how can I do this?
I really need help. Thank you so much
For almost all cases, you do not want to mix .net and Qt in same application. It's less work to just take the logic and rewrite it for .net (managed C++ or C#).
Next best option might be to keep the parts separate and have them communicate through some IPC mechanism.
This is, because any non-trivial Qt code depends on it's own event loop, so getting the existing Qt code play nice with other event loop is always a hassle, and trying to get it play nicely when actual application is managed .net code... No, just no, unless you have a very compelling reason, are expert on both Qt and .net, and have extra time to make it work right.
I'm not sure if you don't know how to download and install Qt or how to create a Qt project in Visual Studio IDE. Try this installation guide.
Do you want to link the Qt library to your win32 c++ app? I think you should build the qt source code first with your win32 compiler. I think you could include the qt header and link the library as normal win32 library to your application after that.

Developing windows forms applications?

C++ is by far my language of choice. However, I have only developed libraries and console applications.
I like how in Visual C# you can easily design a GUI for your application - simple drag-and-drop controls and edit their properties simply.
I have tried to create a windows form application in Visual C++, but it uses the CLR/.Net. Is there a way to make a windows form application in Visual Studio without having to use the CLR or .Net? I really love how easy it is to design a form application in C# or VB.NET.
Thanks!
No, the whole concept of a .NET application is that it leverages the .NET framework to do all the cool stuff you mentioned. If you were to elaborate on what it is you are trying to accomplish we may could recommend an alternative solution, but if you write a C# winForms application it's going to need the .NET framework to run...
EDIT:
You could use a qt ide, or possibly a QT plugin for visual studio. Check this thread out:
Best QT ide?

Creating GUIs for application

This is a question I've been wondering about for a long time.
How do you create an Interface for your program ?
It seems to much of a pain to position form controls and buttons using just code.
I'm looking for something similar to Visual Basic where you can drag and drop controls onto the window. But, I want to do this for applications written in C++.
Can It be done with compilers like MinGW on Eclipse ?
If you don't want to go the Qt route you can use ResEdit which is freeware. It will produce Win32 friendly .rc files that can be built with the MinGW resource compiler and used in Win32 applications.
There are some C++ Win32 wrapper libraries available though I'm not aware of any that are nearly as mature as Qt. I believe WinxGui is a port of WTL (or at least claims to be compatible with WTL) for GCC. It doesn't look like there has been much activity on the project site for a few years however.
What you're searching for is called Qt, both Eclipse and MinGW friendly.
Check out this nice article.
Qt toolkit is written in C++. So you can use it to develop GUI. It also comes with Qt Designer and Qt Creator IDE and tools.
Qt Reference Documentation
Qt Designer Manual
Qt Creator IDE and tools
And you can use MinGW to compile the code. You don't need to download MInGW separately. When installing Qt toolkik, it asks if you want to download MInGW also, just say yes to it. It will then download the correct version of MInGW itself.
The 1.7 GB download you look at is probably the full Qt SDK. This is not just Qt and documentation, but also includes the Qt Creator IDE with the Qt Designer "Form builder", the MinGW compiler, debugger, examples, demos, and some other stuff. There's also an "online installer" that allows you to select the packages you want before downloading everything. That's probably what I'd use if I were starting from scratch on Windows.

C++: GUI libraries for embedding into an interpreter

I've got my interpreter up and running - quite bug-free and stable for now - now I want to add some visual options to my language to play around.
What is a good GUI library easy to use and mainly easy to embed and "link" to my programming language?
What general rules do I have to follow?
I'm currently on XP with Microsoft Visual Studio 2010.
Depends on your language and it's properties. For example, if you can only expose C-style functions, then the default WinAPI supports this style. If you can do the whole C++ classes malarky, then you could do MFC, GDI+, WIC, etc.
Ultimately, if you want something easy to embed, it's simpler to write good embedding code than worry about what you're going to embed.
In various posts I have seen regarding UI Libraries QT and WxWidgets seem to be popular.
Look here for a list of features
Check out the fast light toolkit (FLTK) at http://fltk.org. From that website:
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation.

want to make a complex c++ gui simply

I want to make a nice simple gui using c++. which have drag and drop capabilities, must be light weight. Im thinking of a gui like utorrent client gui.Its light weight and simple.
please give me information about most easy to use libraries / ide /plugin (on windows platform may be good).
Either use QT or wxWidgets. Both are free to use, but QT uses more advanced features of C++ and is used slightly more than wxWidgets (From what I have seen) and has the backing of Nokia.
Both have various gui editors. QT has a QT Creator and there is a list of tools on the wxWiki, which includes a lot of open source RAD gui designers.
I have experience of using wxWidgets in both C++ and Python, and would recommend wxFormBuilder as a GUI designer.
The downside to both is they feel the need to use their own string classes etc which duplicates the functionality of the stl. From what I understand is that this is because when the projects were started there wasn't a standard.
Qt seems to be the most natural choice for your requirements. It has a complete SDK which includes a GUI builder (Qt Designer), an IDE (Qt Creator), internationalization tools and comprehensive documentation. It can also be integrated with such IDEs as Eclipse and MSVS.
In addition to GUI libraries, it has lots of utility classes including containers, facilities for working with file system, processes, XML-data and databases, etc. So you can write the code only once and it will work on every platform supported by Qt, you'll just need to recompile it.
If it seems a little too stodgy at first glance, you may rebuild the Qt libraries from source to include only those modules you actually need.
P.S. I wouldn't suggest using MFC. It's just doesn't worth the effort when you have a more friendly and easy-to-grasp choice.
I would go with QT.
Some of the PROs:
Free as in "free beer"
Free as in "free speech"
Multiplatform (Windows, Linux, Mac OS)
Natively written in C++
Easy to use
In my opinion, some of the CONs:
If you are only targeting Windows platform, you might get better looking (and faster?) UIs with MFC (Microsoft Foundation Classes)
Yet another vote for Qt. I am using it since about 8 years for now (EDA branch) and it works out very good.