Sign in to follow this  

Need a fast way to create gui's

This topic is 4659 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I made a map editor using c++ and win 32. It was the most buggy piece of software I ever wrote full of memory leaks and access violations. Not to mention that it took forever to make. I am a better coder now and I realize the need to do away with raw win 32 and do some drag drop gui programming. I don’t care if its in java, or if its in visual basic. My main concern is development time: i.e. how fast I learn the language and how good the drag drop system is. Another thing I would like is it to be free. I hear winforms is great but I don’t have VS. I already know c/c++/java and some perl. I haven’t gotten wxWidgets to compile but if I hear its worth the effort I may reconsider using something like that. I want the best free gui creation environment where I can create a control and the IDE will create the message handlers and I just fill in the code. With the lowest learning curve (i.e. I don’t have to spend days reading documentation before I can get anything done)

Share this post


Link to post
Share on other sites
MFC. I think it is the fastest way to make a GUI - given that you know how it works. Once you do, making your own GUIs is quite easy and super fast. It is what I used to make the GUI to test out my OpenAL audio library. However, since you do not have VS, then this suggestion is of no use for you, but it is something to keep in mind if you ever do decided to get VS.

Since you wrote your code in C++ and Win32, I'd suggest staying with the language. Visual Basic is also really easy to do GUI's in, but you will need to port the code. I do not know of that many GUI libraries, but the wxWindows is your best bet I think for now.

However, there does not exist something you can just sit down and just do all sorts of wonderful things instantly. All require quite some reading to get started. Finding tutorials on the basics shouldn't be too hard, but remember that if you rush it, you will not end up with something that is better than the first.

If you don't mind, may I ask what kind of time frame you are working with?

- Drew

Share this post


Link to post
Share on other sites
If you already know C++ DEFINITELY go with C++ Builder. Its the EASIEST rad designer and I find it to be FAR better than Visual Studio if you need to use C++.

Share this post


Link to post
Share on other sites
Although I haven't seen any sort of Java drag-and-drop type system for GUIs (not that that means it doesn't exist, since I haven't looked), you should consider manually coding a Java GUI with Swing. Despite the fact that you will have to code, making a Swing interface manually is still a very rapid process; I would estimate it is at least twenty times the speed of making a Win32 interface by hand, if not faster. It is also easier and results in cleaner code. For all I know, using a graphical editor for GUIs in Java or another language may be even faster; I'm just saying, as someone who has programmed Win32 manually before, that you shouldn't let it poison you against manually coding GUIs in general. Java's Swing is much, much better, and I suspect that there are other good alternatives to Win32 out there as well. It took me maybe two days to learn the basics of coding a Swing interface, including input, output, and layout control, with me learning as I went and having essentially produced my desired, functional GUI for the program I was working on by the end of that period.

Share this post


Link to post
Share on other sites
Boa Constructor (Python) is actually pretty good, for a free tool. Really easy to work with, and is much further a long than the version number suggests (more like 0.8, not 0.2). Python only takes a couple of hours to learn, and saves a lot more than that
compared to using C++.

VB and C# are fairly easy to use as well. I prefer C#, because it's closer to C++ and I despise VB, but YMMV. You can download the Express betas from Microsoft's site to give them a try.

Whatever you do, do not use C++. It not a RAD language, not matter how you slice it. The compile-link-run cycle alone is enough to eliminate it as a choice.

Share this post


Link to post
Share on other sites
I would have to recommend C#. If you have a handle on C++, then you should be able to get a C# application up in no time. I do not claim to know C#, only C++ and I was able to build some pretty useful tools in only a couple of hours. It would have taken me days using Visual C++, and it probably would have been less stable. Good luck
-Scott

Share this post


Link to post
Share on other sites
Quote:
Original post by jdhardy
Boa Constructor (Python) is actually pretty good, for a free tool. Really easy to work with, and is much further a long than the version number suggests (more like 0.8, not 0.2). Python only takes a couple of hours to learn, and saves a lot more than that
compared to using C++.

VB and C# are fairly easy to use as well. I prefer C#, because it's closer to C++ and I despise VB, but YMMV. You can download the Express betas from Microsoft's site to give them a try.

Whatever you do, do not use C++. It not a RAD language, not matter how you slice it. The compile-link-run cycle alone is enough to eliminate it as a choice.


Eh em......C++ Builder !!!

Share this post


Link to post
Share on other sites
I had some bad experiences with pointers in the past (corrupted stack anyone?). Since I started using java I havent missed pointers one bit, I like the idea of c# but the only ide for it other than VS is sharp dev and it dosent seem to have the drag drop thinggy I was hoping for.

thanks for the help so far

Share this post


Link to post
Share on other sites
you can download the .NET SDK or the Visual C# 2005 Express Beta or Visual C++ 2005 Beta for free ... then you can do WinForms ... which is good an very very easy for basic stuff (just hours for well working common dialogs things).

you can use C++ and QT open edition (your created product would have to be GPL if you use the free version of QT - later in your career you can pay for QT to write non-GPL programs).

Also for .NET, you can download MONO totally for free, and use the GTK# stuff included in that (it's an alternative to WinForms, that is basically a .NET wrapper around GTK+ stuff I think.

Share this post


Link to post
Share on other sites
ok... i learnt WWdgets overnight basically. WxWidgets is the best thing since sliced bread. Use that. KDE gui is quite advanced as well, and allows more freedom but is not for the faint of heart.

Share this post


Link to post
Share on other sites
Quote:
Original post by oconnellseanm
Quote:
Original post by jdhardy
Whatever you do, do not use C++. It not a RAD language, not matter how you slice it. The compile-link-run cycle alone is enough to eliminate it as a choice.


Eh em......C++ Builder !!!
I use BCB at work. My point still stands: C++ is not a RAD language.

Share this post


Link to post
Share on other sites
Java is good for gui development, though I put it beneath .NET for one reason:

you can't have the good old grid layout thing. You know, where you can just drop the text box onto the panel, and everything will look exactly like it should? I don't like using all those layouts!!!

You can get around it, by using 3rd party libraries, though Sun doesn't support it because of the stupid crossplatform stuff.

Anyone know if Java does support this?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by caesar4
the only thing that sucks about BCB is that u cant turn of that friggin virtual space in the code editor

Uh, what's virtual space? I never had any problems with the BCB editor...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by jdhardy
I use BCB at work. My point still stands: C++ is not a RAD language.


Your opinion is intriguing. Do you use different definitions of the term RAD than the rest of us?

Share this post


Link to post
Share on other sites
Ive never used GTK (or GTK+ if theres a difference or if theres no such thing as just GTK :-p), is it any good? (I'm looking to do a few cross platform tools in the near future)

thanks
-Dan

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by jdhardy
I use BCB at work. My point still stands: C++ is not a RAD language.


Your opinion is intriguing. Do you use different definitions of the term RAD than the rest of us?
RAD = Rapid Application Development.

If I have a program that I need done yesterday, C++ isn't going to be my first choice of language (mmm...Python). If execution speed is a concern (which it rarely is) I'll profile, extract the slow parts, and rewrite if necessary as extensions.

There are really very few areas where C++ is the most appropriate language - it just happens to be "good enough" at nearly everything. However, C++ is still my favorite languge, precisely because of that flexibility. It's just not very good if I need something done right away.

Share this post


Link to post
Share on other sites
Try Lazarus. It's in Beta stage and Object Pascal orientated, a free , open -source RAD program like Delphi. Don't expect it to be bug-free, however. But the Free Pascal compiler you get with it really -Rocks-.
M.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by jdhardy
RAD = Rapid Application Development.

If I have a program that I need done yesterday, C++ isn't going to be my first choice of language...


BCB is still a RAD environment no matter how you twist it. You are just trying to redefine Rapid Application Development to include only the Rapidest Application Development. Interesting, but wrong.

Share this post


Link to post
Share on other sites

This topic is 4659 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this