What's new

Linux GUI programming

I wanna start developing GUI apps for Linux, the problem is that
I dunno for sure where to start. I need an API, that both
provides me with lots of GUI controls (Combo Boxes, List Boxes,
Tree Views,Menus etc...), and for it to be like an standard API
(i.e I dont want to develop apps with some API, so that people
will have to download some extra runtime files, but that I just
distribute my apps in a this API hinerent to latest OSs such as
Mandrake 8+, RedHat 8+, SuSe 8+).
Another thing is that I would like to develop apps for both Gnome
and KDE (if not possible, then just KDE).
Does anyone round here has some suggestions/manuals about this???
(I would really appreciate some Linux equivalents to Win32 API
funcs, like in some manual, if such exists)
Be specific please.
 

Hacktarux

Emulator Developer
Moderator
Gnome is based on gtk library and KDE is based on qt library. Of course you have to choose between those two gui. But.... generally people have both libraries installed even if they are only using gnome or only using KDE. Almost all systems have gtk 1.2, so if your priority is eveybody can run your app, it's safe to use this library but you must know it's an outdated library (currently gnome use gtk 2), it doesn't look as good as other gui libraries and you'll probably have to program some little things manually. That said, many people have a recent version of qt and gtk2 installed on their computer because there are always some unique applications that you can only find in gtk2 or qt version. One last thing, gtk is written in c and qt is written in c++, it may help you to choose or not....

As for manuals, both libraries are very well documented on their official web site.
 

AlphaWolf

I prey, not pray.
If you plan on being multi-platform, QT has free libraries for windows, mac, and linux. You can also staticaly compile QT as well, so that the end user doesn't have to already have it installed when they want to run your software on their machine.
 

The Khan Artist

Warrior for God
AlphaWolf said:
If you plan on being multi-platform, QT has free libraries for windows, mac, and linux. You can also staticaly compile QT as well, so that the end user doesn't have to already have it installed when they want to run your software on their machine.

Actually, GTK2 is available for Windows, while Qt3 is not.

wxWindows seems to be the best choice if you are looking for cross-platform programming. I personally am going to give it a shot along with Qt3.
 

AlphaWolf

I prey, not pray.
The Khan Artist said:
Actually, GTK2 is available for Windows, while Qt3 is not.

wxWindows seems to be the best choice if you are looking for cross-platform programming. I personally am going to give it a shot along with Qt3.

We ported tystudio to windows using QT3.
 

blight

New member
java is slow and some developers say qt is like java, but still c++
qt is really easy (if you know c++)
 
Well, my idea is not to make multiplatform apps, just to start developing some GUI apps for Linux as I've advanced a lot in Windows.
And Shin_Gouki , Java is crap, the only ppl who enjoy it are usually beginners that think that
JButton b=new JButton("Whatever"); is SOO cool

Anyway thx ppl, I have been trying GTK2 and i find it really cool though Im having trouble compiling glibc funcs in the tuts.
 

Shin_Gouki

New member
no iwouldn´t say so
,yes java is slower ,
also java is quite often installed on systems (even linux) , and if some people try to do something gui like for linux , you have to install packets XYZ.. -_- there´s always a package you didn´t have installed...

java is easy but not so easy as you mention try to create some ambitious layout and you´ll see it can be tricky :naughty:
but you can do cool stuff with tables, images etc...

i´m writing some interface for an acces/DB2 database in java and it´s quite fun ;)
i like java :ph34r:

wbr Shin Gouki
 
Last edited:
Well Java is fine, I mean, its good, Ive created some games with intermediate GUI objects, and I also made a e-commerce like site with Beans and Db, but the problem is the damn VM. I dont like it at all, I know they designed it to make it run on even washing machines or whateva, but I like architecture-driven binaries, plus, the class files aint encrypted at all, so its fun to go to those "download cool JavaScript demos, If you like em, buy the source code for $xx, and then you just decompile the *.class, and youre done.
 

Shin_Gouki

New member
jupp thats right, it´s upto the developer to give his sourcecode to the crowd...
IMO of course java is no panacea , i´ll also like C but gui coding on DIFFRENT plattforms is quite good possible for me with java
also of course plattform specific solutions always work better...
...anyway
i think you have found what you were looking for, to code some linux GUI :)
wbr Shin Gouki
 

Cyberman

Moderator
Moderator
David_Hayter said:
Well Java is fine, I mean, its good, Ive created some games with intermediate GUI objects, and I also made a e-commerce like site with Beans and Db, but the problem is the damn VM. I dont like it at all, I know they designed it to make it run on even washing machines or whateva, but I like architecture-driven binaries, plus, the class files aint encrypted at all, so its fun to go to those "download cool JavaScript demos, If you like em, buy the source code for $xx, and then you just decompile the *.class, and youre done.
For Linux try using GLADE and GTK.. this combination works well with GNOME and KDE.

Glade is the form developing application GTK is the C based API for handling X in a GNOMish fashion :)

That's about it. Also you will need to learn about Automake and Autoconfig setup but that's trivial compared to creating your own makefile :)

Cyb
 
Final Post

Well, as a conclusion, Ive decided to go the wxwindows way, it rocks like hell!!!
Ive downloaded the All-OSs version, compiled in windows, ran fine, then in linux, ran fine. Its not too complicated and its great (thus, its based on gtk+)!!!

Ok, I wanna thank everyone for being so helpful, and for posting non-retarded, smart answers.
Thx yall ppl :party:
 

Top