User forums > Using Code::Blocks
Designing GUI's?
dr snuggles:
I tried the above recepies to start building GUI's. Compiling wxWidgets takes more than an hour, so I aborted it. The wxPack seems to work. However, every time I open and build my GUI project, it also recompiles wxWidgets, so that sucks too.
Is there by any chance a user-friendly way of starting to design multi-platform GUI's? Or should I get used to searching, trying programs and reading howto's for several hours before actually starting to design the GUI?
TDragon:
--- Quote from: dr snuggles on April 18, 2007, 03:29:41 pm ---Compiling wxWidgets takes more than an hour, so I aborted it.
--- End quote ---
Good things come to those who wait. :) (Or to those with faster PCs...)
At any rate, one of the things you can do to shorten the compilation time for wxWidgets is redirecting the output. If you redirect stderr and stdout into nullspace, no text needs to be displayed (and constantly scrolled), so the CPU has more time to devote to the build. Append "1>nul 2>nul" to the make command to send the output nowhere.
--- Quote ---The wxPack seems to work. However, every time I open and build my GUI project, it also recompiles wxWidgets, so that sucks too.
--- End quote ---
I really have no idea what you mean by "recompiles wxWidgets", and I suspect it's something other than you think. Perhaps you could give an example of what you mean.
--- Quote ---Is there by any chance a user-friendly way of starting to design multi-platform GUI's?
--- End quote ---
Yes.
--- Quote ---Or should I get used to searching, trying programs and reading howto's for several hours before actually starting to design the GUI?
--- End quote ---
Yes.
The concept of a modern GUI is a complex one in and of itself. On top of that, wxWidgets is an attempt to provide a basis for describing the common features of several modern GUI platforms that were not, for the most part, intentionally designed to have anything in common. Any intermediary library has to find a balance between ease of use and power/flexibility, but all these conflicting requirements make wxWidgets' balance harder to find, and for the most part it falls on the "power/flexibility" side. This means that a fair amount of advance learning is necessary.
But as far as C++-based cross-platform GUI libraries go, I'd call wxWidgets user-friendly. This older thread, recently resurrected, gives a decent overview of some of the other options. I call wxWidgets a good choice because it is mature and compiles on top of the native GUI API to create native "widgets", rather than drawing its own. However, other options do exist.
DarkDepths:
First, thank you for you're replies. I looked at wxPack but as you mentioned, its about 240mb. I just spent the last three nights downloading a file only 50mb large!
Also, about the Hard Drive issue. I am going to look into a removable one. And just BTW, I live in Canada! I can always try compiling wxWidgets first, but, as I am pretty sure I mentioned, I have been unable to install MinGW, so I think it might be pretty hard...
TDragon:
--- Quote from: DarkDepths on April 18, 2007, 04:45:02 pm ---... I have been unable to install MinGW, ...
--- End quote ---
You did mention that, but did not elaborate on why that was so. Really, the hardest part is determining what you need to download, and then finding it on the MinGW download page (not exactly a picnic for the non-Unix-hacker type).
Vampyre_Dark:
Windows GUI programming is not that hard once you get the hang of it. You just have to learn how it works. Every widget is a window that gets it's own procedure, which is basically a big switch statement that reacts to different messages that are sent to it.
You can get a free resource editor here: http://www.radasm.com/projects/projects.html Look for the file called ResEd.
The MSDN library is where you will get all your Win32 GUI info.
Clicky
WinProg.org has some simple Windows tutorials.
Go to your library, and borrow a copy of "Programing Windows xx by Charles Petzold". This will explain everything better, and it will all make sense.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version