hello there, im new here and i want to start learning c++. I have a few books and tutorials however i could use some help with other tutorials and resources..

So basicly what i want to learn right now is how to make gui programms in c++. I know that there are toolkits but im not realy in tuned with them ( dont know what they are or how to use them)

would someone please help me out?
-thanks!:confused::)

Dani AI

Generated

Good track so far — the advice from and to get comfortable with core C++ before diving into GUIs is the most important point. Console projects force you to understand pointers, ownership, constructors/destructors (RAII), the STL and smart pointers — all of which prevent the common bugs beginner GUI authors hit later. ’s pointer toward Win32-level learning is useful if you want low-level control, but Win32/MFC are steep; higher-level toolkits hide many platform details.

A practical, short learning path:

  1. Learn the language fundamentals (resources: LearnCpp.com and cppreference). Focus on memory ownership, containers, and algorithms.
  2. Build several console apps (parsers, command menus, small games) until you clearly understand object lifetimes and debugging.
  3. Learn the event-driven model: event loop, callbacks, signals/slots, and the restriction that UI work must happen on the UI thread.
  4. Choose a GUI toolkit and follow a tutorial for it. If you want cross-platform and modern C++ features, consider Qt (Qt docs) or wxWidgets (wxWidgets). If you target Windows only, Visual Studio + Win32/MFC is an option but older toolchains like VC++6 are obsolete; use modern toolchains such as Visual Studio Community or GCC/Clang.

First GUI project idea and common pitfalls:

  • Create a simple form (text input, button, display area). Make the button open a file dialog and show file contents in the display area.
  • Avoid blocking the UI thread during file loads or computation — use worker threads and marshal results back to the UI.
  • Watch for ownership/leak bugs; prefer smart pointers and RAII. Use the debugger and a memory tool (Valgrind on Linux, Visual Studio diagnostic tools on Windows).

This complements the earlier replies: learn the language deeply, pick a modern toolchain, then pick a toolkit and practice small, well-scoped GUI tasks.

Recommended Answers

All 10 Replies

>hello there, im new here and i want to start learning c++.

You'd be better off learning and being comfortable with C/C++ before you start learning Windows GUI programming. You'll just make it way harder for yourself, and there's really no hurry.

I would suggest you start here:
http://www.cprogramming.com/tutorial/lesson1.html

Also take advantage of other C/C++ resources you have available to you (i.e. Google). Once you feel like you know the language, proceed to other things such as GUI programming, or maybe .NET.

master console apps before GUIs dont rush into it. I learnt the hard way

If your only motivation for learning programming is because you want to learn to make cool apps, you are going to have a hard time motivating yourself to learn programming on your own.

I myself was propelled mainly by the fact that I wanted to know how programs worked, and that even a console app was cool. Windows programming just came on me naturally after I had gotten a good grip of C/C++, and graphics programming after that. I didn't try to rush it. (Which unfortunately, is a tendancy I have.)

So my advice: the more complex app you want to create, the more you gotta love programming. And don't rush yourself; taking your time is the best way to learn (and to avoid bugs when you're actually programming).

Thank you very much for all your replies, i will do as told. Be sure to see me around, looks like ill be staying. (lol)
-thanks again

hello there, which is better out of the two.
visual c++ 6.0 or visual c++ 2005 express edition?

hello there, which is better out of the two.
visual c++ 6.0 or visual c++ 2005 express edition?

Don't waste your time with the crappy 6.0. It's too old and outdated anyway, and you're much better off using 2005 express, even if it isn't the "full" version.

I've been programming in C++ a year to two myself, mosty console applications, and not much else. How big a step up do you reckon is GUI programming, and how much does C++ help in making apps for platforms other than Windows.

a big step. You must MASTER console c++. Particuarly classes etc to do GUI stuff

C++ is the most portable language as c/c++ is what basically all linux apps are written in

c++ is NOT a requirement but C (or some other language) is. People have been writing GUI programs for years and years with only C programs. c++ classes will make GUI programming a bit easier, but is not absolutely necessary.

*nix GUI and MS-Windows GUI are completely different, but there are toolkits that make programs portable between the two operating systems.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.