So I always wanted to learn programming properly (I used to make applications in Visual Basic but I have limited knowledge, most of which has been forgotten) and C++ seems like a decent choice although I have one gripe.
With Visual Basic creating an application is straight forward; create your GUI and then program what each control will do. It seems with C++ this is not such an easy task - I have never seen a screenshot of a C++ IDE that lets you create an application in such a simple way; it seems to be 100% text base.
My question is basically if there is an IDE that allows such programming? How do programmers who use C++ make forms with controls on them? And secondly, if such program does not exist, why has no-one made it yet?
Help is appreciated.
A great GUI framework to use would be Qt. This gives you pretty much everything you need. The SDK has a brilliant IDE with a form designer and built in docs, so it's a breeze if you know the language.
[url]http://qt.nokia.com/products/[/url]
Qt is quite large though.
If you want something directly available, Windows Forms and its Windows Forms Designer.
For multi-platform GUIs GTK+ and wxWidgets are popular options, again for both there are designers (Glade and wxDesigner).
[QUOTE=RyanPridgeon;22443055]A great GUI framework to use would be Qt. This gives you pretty much everything you need. The SDK has a brilliant IDE with a form designer and built in docs, so it's a breeze if you know the language.
[url]http://qt.nokia.com/products/[/url][/QUOTE]
I've installed Qt but I can't see any design window for creating my form? When I started the new project I selected "Qt4 GUI Application". Halp?
Also I found it pretty awesome that it's being made by Nokia.
I think you are misunderstanding what Visual Basic is, and what C++ is.
Visual Basic was designed for building simple window-based programs, with most of the background stuff hidden from the user to make it simpler to understand.
C++ is much lower level, the most basic C++ programs will just print text to a console window. It takes far more complex code to get a window showing, where the programmer has to learn an API such as Win32 or QT.
I think you should look into C#, it is much more similar to VB in terms of creating a form and writing code to control and manipulate it (but is as powerful as C++ in some cases).
(Not trying to start a flame war here, just trying to describe the differences in C++ and C# to the OP in terms he can relate to)
[QUOTE=catch33;22442855]
My question is basically if there is an IDE that allows such programming? How do programmers who use C++ make forms with controls on them? And secondly, if such program does not exist, why has no-one made it yet?
Help is appreciated.[/QUOTE]
I do any GUIs I have to do by writing the code for it by hand. Personally, I don't believe in the drag n drop garbage.
If you want to, you can use Visual Studio C++ Express 2010 (or 2003,2005,2008, whatever) and make a Windows Forms Project. Works the same way as VB projects do.
[QUOTE=PvtCupcakes;22448836]I do any GUIs I have to do by writing the code for it by hand. Personally, I don't believe in the drag n drop garbage.[/QUOTE]
Why not? If it's easier and saves you time what's wrong with that?
And Mattzz, I think you're probably correct about suggesting C#, thanks :)
[QUOTE=PvtCupcakes;22448836]I do any GUIs I have to do by writing the code for it by hand. Personally, I don't believe in the drag n drop garbage.[/QUOTE]
Congratulations for unnecessary stoppage of work flow.
[QUOTE=Jawalt;22449016]Congratulations for unnecessary stoppage of work flow.[/QUOTE]
It's just a personal choice, for me, drag and dropping GUI objects gives me the feel of making a cheap uncontrolled unoptimized GUI code
but since most of the time it doesn't really matter, I do it anyways =)
Drag and drop is fine once you actually understand what's going on. Before that it's just a recipe for trouble.
[QUOTE=Xerios3;22449809]It's just a personal choice, for me, drag and dropping GUI objects gives me the feel of making a cheap uncontrolled unoptimized GUI code
but since most of the time it doesn't really matter, I do it anyways =)[/QUOTE] I am sure GUI is your bottleneck :V
[QUOTE=Jawalt;22452491]I am sure GUI is your bottleneck :V[/QUOTE]
It actually can be pretty easily, especially when you don't understand how the GUI works. Or more likely with the kind of code that is generally written by people in the pretty onbuttonpress callbacks, their code is doing stupid shit like blocking the UI thread.
Use C#, it's got the same GUI sort of thing goin on as VB but a new (and better) language .[sp]imo[/sp]
It's pretty much the same as Visual Studio for VB.
Please, Chad, stop. Stop giving advice when you're pulling it out of your ASS.
He's not exactly wrong though.
C# was suggested earlier, and that advice was taken; so stop bashing chad just because it's chad.
[QUOTE=robowurmz;22459543]Please, Chad, stop. Stop giving advice when you're pulling it out of your ASS.[/QUOTE]
Last time i checked, advice were given by the user, not just facts.
[quote=Wikipedia]Advice - an opinion or recommendation offered as a guide to action, conduct.[/quote]
Also, OP, if you're a student, you can use dreamspark to get visual studio for free.
[url]www.dreamspark.com[/url]
[QUOTE=PvtCupcakes;22448836]I do any GUIs I have to do by writing the code for it by hand. Personally, I don't believe in the drag n drop garbage.[/QUOTE]
Sounds like you've never written anything involving more than a few randomly placed buttons and labels.
[editline]07:03AM[/editline]
And the fact that you call drag-and-drop GUI editing "garbage" further proves that you have absolutely no experience in making effective use of the tools available to you.
[editline]07:04AM[/editline]
Do you also suggest people create models by manually listing out vertices off the top of their head? After all, I bet modeling packages produce really crappy, inefficient models.
Do you apply bad analogies to everything? A model is nothing like a UI one has function and form the other has merely form. If a UI didn't do anything you might be able to say that.
Not to mention it'd be more like using an API to create the model, which is actually quite common.
In summary, your analogy is bad and so is your argument.
[QUOTE=ZeekyHBomb;22443828]For multi-platform GUIs GTK+ and wxWidgets are popular options, again for both there are designers (Glade and wxDesigner).[/QUOTE]
And so is Qt, which (IMO) also has a much cleaner API than GTK or wxWidgets.
(Qt also looks native on every platform, unlike GTK.)
[quote=PvtCupcakes]I do any GUIs I have to do by writing the code for it by hand. Personally, I don't believe in the drag n drop garbage.[/quote]
I don't know what you've tried, but with Qt the form designer is a pleasure to use (and the output is saved in Qt's UI format which is later preprocessed transparently to be used in your code).
[QUOTE=Tuntis;22463129]And so is Qt, which (IMO) also has a much cleaner API than GTK or wxWidgets.[/QUOTE]
Completely disregarded my first sentence ._.
[QUOTE=ZeekyHBomb;22464301]Completely disregarded my first sentence ._.[/QUOTE]
Filesize is a small issue if you're building something bigger than a single-dialog utility. Qt is the easiest UI toolkit for C++, and that's what the OP should check out.
I didn't just speak in terms of filesize. It almost acts like a superset to C++.
[QUOTE=Tuntis;22464592]Filesize is a small issue if you're building something bigger than a single-dialog utility. Qt is the easiest UI toolkit for C++, and that's what the OP should check out.[/QUOTE]
Qt is heavy, way too heavy especially for simple programs.
[QUOTE=robowurmz;22459543]Please, Chad, stop. Stop giving advice when you're pulling it out of your ASS.[/QUOTE]
Even when he's right? Hating Chad isn't a bandwagon, stop being idiots.
[QUOTE=blankthemuffin;22460816]Do you apply bad analogies to everything?[/QUOTE]
Yeah, it makes little sense to me too. Drag and drop GUI editors obviously do not always let you work exactly how you want to, and in the same way a modeller may use shapes to draw models (DnD), they'll probably still end up vertex editing a lot of parts too (Custom code).
[QUOTE=Tuntis;22463129]And so is Qt, which (IMO) also has a much cleaner API than GTK or wxWidgets.
(Qt also looks native on every platform, unlike GTK.)
I don't know what you've tried, but with Qt the form designer is a pleasure to use (and the output is saved in Qt's UI format which is later preprocessed transparently to be used in your code).[/QUOTE]
I do use Qt, but I do those GUIs by hand as well.
The biggest problem I have with drag-n-drop editors is that it creates code that can't be properly modified without using the same tool that generated it. So if I generated all my GUI code and gave it to someone else, they can't modify the UI without using whatever GUI editor I did.
My philosophy has always been that all you need is a text editor and a compiler to modify my code.
Yeah, me too. It's not that I'm *against* automatically generated code, it's that some editors automatically generate code that is impossible to work with. For any application where my GUI isn't that dynamic, sure, I'll use the drag-and-drop editor. This applies to most of my C# apps.
I'm against automatically generated code. It's silly and usually bad. Why should a tool generate something that isn't easy to be read back by other tools.
[QUOTE=robowurmz;22459543]Please, Chad, stop. Stop giving advice when you're pulling it out of your ASS.[/QUOTE]
Why don't you stop jumping on the fuckwad bandwagon and actually read my post instead of :hurr: :w00t: :downswords: :protarget: 'ing all over the place.
[QUOTE=pikzen;22467174]Qt is heavy, way too heavy especially for simple programs.[/QUOTE]
What do you mean when you say "heavy"? 5MB?
Sorry, you need to Log In to post a reply to this thread.