How to design an IDE using Qt? - c++

My friends and I are working on a compiler design as a project in my university (Damascus University).
We're using (Flex, C++, Bison, Qt) to do the job.
I was wondering if there is a way to design an IDE to our compiler using Qt. I know how to do the job but I'm asking to find out if there is some resource to start with, or if there is a pre-built design to do that job.
Thanks in advance :)

Start by looking at the source code of QtCreator. It is very clean and easy to read!

In addition to already suggested QtCreator you could check the qt-apps.org development environments website; a lot software there is open source

Perhaps extending KDevelop with a module would be a better idea. Qt creator is awfully focused on Qt. Other interesting starting points would be Edyuk (they've separated out their editor component from the rest of the application) or good old Scintilla (used by PyQt from Riverbank).

Related

Free alternative to QTCreator for QT/C++ development

Let me preface this by stating I have vision problems so I have to magnify my screen upwards of 400% minimum to read most things including code - even when I am using a dark theme as I do when I code.
QTCreator has an issue where it moves the view on me with most keystrokes & actions - usually to the top left corner by the project file listing. I've posed questions to QT Support and even cloned the source for QT Creator looking to see if I could identify a relatively easy fix - to no avail. So now I'm trying to find a free (as in no financial cost) alternative to QT Creator so I can keep programming using QT Creator in C++.
I've tried Visual Studio Community Edition (2017 and 2019) and had problems getting things to build. It seemed like I had to rebuild the entire framework libraries for MSVC or else it wouldn't work. Additionally it seems it finds compilation errors in even the framework source - which doesn't even look wrong to me or I'd try to repair it.
I tried Eclipse (as I'm a Java engineer for my job so I'm familiar with Eclipse for Java and it does not have the problem that QT Creator has. The QT plugin - when I try to put a simple line of #include - It claims "QApplication" is unresolved. I've looked for this and all the answers say about Project->Properties->Paths and Symbols but as of 2019-12 and 2020-03, there are no options in settings for paths and symbols unfortunately.
A colleague suggested CLion from JetBrains but unfortunately it appears you have to pay for that. I have no intention of paying for a compiler or IDE.
Any thoughts on how I can get around this view changing problem or an alternative to QTCreator that doesn't cost money? If there's a setting in one of the applications I may have missed, suggest it with the version of the appication and I'll look for it and reply if it doesn't exist for whatever reason or accept your answer if it does and fixes the problem.
Thank you!
If you are familiar with Eclipse but have issues with the plugins and you intend using it for C++ I recommend checking out Cevelop (https://www.cevelop.com/) it's basically Eclipse but only for C++ and has some optimizations.
If that doesn't work for you technically you should be able to use any code editor like VSCode or Atom, but I do not know how well that works with the Qt library.
CLion is free for students but I think that doesn't apply for you.
NetBeans (https://netbeans.org/) is also free and cross-platform.
(https://netbeans.org/kb/74/cnd/qt-applications.html)
It should be possible to use Qt within the IDE.

Can you easily take a C++ project back and forth between Qt Creator and Eclipse?

I have an application I've been wanting to build for almost a year now. I studied programming in high school and college (BS IT) and find it relatively easy. The hard part for me has been the rest of the software development life cycle. They don't seem to teach that as much in school.
I'm trying to reach as many platforms as possible. I started coding in JavaScript (with the intent to use PhoneGap), but local storage seems tedious and I decided to lean more towards application development than web development. Then I started over with Mono and C# and it was great fun and easy. Then I discovered the price tag and I can't afford to buy Xamarin. So, I think, I want to try C++ and Qt. Qt4 and Necessitas currently allow for Android and Qt5 is supposed to include iOS and Android sometime this year (plus all the desktops and loads of embedded systems).
Now I'm struggling with the idea of unit testing. The Nunit tests for C# were super easy to learn and run in both Visual Studio and MonoDevelop. C++ unit testing seems a little tougher, but I want to be Agile and use TDD. Qt Creator, however, as far as I can tell does not support automated unit tests. Eclipse does have automated unit tests with the CUTE plugin, but the Qt designer plugin for Eclipse has been abandoned. That probably won't help for mobile GUI design as Digia is still working in that arena and the old plugin was made by Nokia.
I think I want to put all of my code (OOP classes) in one library, put all of my unit tests in another library or project, and then create another project for the app/main/GUI of each platform that I aim to develop for. I'm using free/open licensing, so I'd start a project on SourceForge or something using Git. What I'm thinking is that I could use Eclipse to write the code and tests. When I need to do some GUI stuff, push the changes, close Eclipse, open Qt Creator, pull the work I just did in Eclipse and then start playing with the GUI.
Does anyone do this? Could this work? Is this madness? Better ideas?
p.s. stackoverflow is already warning me that this question appears subjective and is likely to be closed. I'm not looking to start a debate. I'm just wondering if this idea could work and if there is anything else along these lines immediately coming to mind that I have missed.
You can use Qt Designer even if eclipse doesn't have a plugin for Qt that will automatically open Qt Designer for you when you open an .ui file.
I understand that you only want to edit .ui files with the designer.
So the workflow would be
Edit code in eclipse, open Qt Designer from wherever it was installed, open the .ui file, edit stuff, save it, continue in eclipse.
Like.. it's not that the designer only works with an eclipe plugin or visual studio add-in. The only thing the plugin does is open the Designer for you.

Alternative to VCL on C++Builder

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.

multiplatform IDE for developing graphical interfaces in C++

I want to start making graphical user interfaces in C++ in some IDE, easy to learn and have enough documentation and examples. Besides being multiplatform, ie the final application can be run on both Linux and Windows
Some suggestions or experiences?
I would recommend Qt Creator.
The Qt libraries are multiplatform, cover a wide range of features and are well documented; the IDE too runs almost everywhere, is really easy to set up and is very well integrated with the library.
Other open source alternatives may be the wxWidgets with e.g. CodeBlocks, but in my opinion they aren't as good (in terms of completeness and documentation), and you don't have such a good integration with the IDE (also, in my experience setting up wxWidgets development on Windows needs some work).
You can use Eclipse which is open source and works well on Linux/Windows . There is descent documentation available as well..

Choosing and using an IDE

I've been using Visual Studio 2010 for C++ development for a while but I'd like to move to an open source option. I'm considering using Eclipse C++. Are there any problems with it that I should know about? Also, I want to develop GUI applications. Presumably Eclipse allows this but I can't find any documentation on it (surprisingly)?
Can someone please point me in the right direction for starting with Eclipse?
Thanks for your help.
I was about to close this as a duplicate shopping question, but the GUI part is what stopped me.
You have two very good options:
Qt Creator: integrated version control, debugger support and Qt GUI editor.
Code::Blocks: integrated debugger, some plugins and a wxWidgets GUI editor.
Netbeans is better and faster than Eclipse in coding C++. that's my personal opinion