[ ljube @ 30.09.2004. 21:09 ] @
Mnogo hvala svima!

Sada jos jedno pitanje pocetnicko pitanje.

Navikao sam da radim sa Windows C kompajlerima i da kreiram prozore sa CreateWindow ili CreateWindowEx API pozivima. Da li postoji nesto slicno za Linux?

Da li neko moze da mi da neku analogiju koja postoji u GCC ili G++ bibliotekama.

Kada startujem startx, pojavi se graficko okruzenje i zaista mi se svidjaju prozori koje pravi suse distribucija (kde).

Kako ja mogu da napravim ovavkve prozore, dugmad ...

Molim za neko uputstvo gdje da gledam za pocetak.

Hvala.



[ ljube @ 30.09.2004. 21:12 ] @
Izvinite, ovo je trbalo da se pojavi kao replay na temu "
Pitanje za Linux - C - gurue"

[ filmil @ 30.09.2004. 22:23 ] @
Citat:
Da li neko moze da mi da neku analogiju koja postoji u GCC ili G++ bibliotekama.
Strogo govoreći, malo brkaš pojmove, ali nije ništa strašno, naučiće se.

Treba da znaš da crtanje prozora i ostalog šareniša nije deo C-a niti C++-a pa ni runtime biblioteka. To je povereno posebnim bibliotekama, koje se za ovu potrebu često nazivaju toolkits. Isti slučaj je i sa Windowsom, mada je tamo razlika malo zamagljena, slučajno ili namerno — za sad je nebitno.

Da bi mogao da praviš prozore koji izgledaju baš kao u KDE-u, pogledaj najpre toolkit koji se zove Qt. KDE nadograđuje ovaj toolkit ali o tom potom. Prvo treba napraviti hello world.

f
[ ljube @ 30.09.2004. 22:24 ] @
Nasao sam sve u nekom primjeru koji poziva funkcije iz X11/Xlib.h

Hvala.
[ filmil @ 01.10.2004. 09:30 ] @
Citat:
Nasao sam sve u nekom primjeru koji poziva funkcije iz X11/Xlib.h
To verovatno nije ono što želiš. Xlib funkcije su suviše „proste“ i da bi se od njih napravilo nešto što izgleda „normalno“ i „moderno“ mora puno da se radi. Bolje pogledaj neki potpuniji toolkit.

f
[ ljube @ 01.10.2004. 10:29 ] @
Znam da windows.h ili win.h nije standardan dio C/C++ kompajlera ali se standardno isporucuje uz 90% windows C/C kompajlera.

Trazio sam informaciju za neki slican header koji moze da se koristi na Linux-u.

Nedavno sam instalirao FLTK za Windows i cini se dosta jednostavan ali meni licno je ruzan izgled kontrola. Ne znam kako izgleda na Linux-u ali na Windows-u su ocajne. Podsjecaju me na win 3.11. - Ovaj komentar je stvar ukusa, naravno da nekom izgleda super.

U svakom slucaju, primjer za X koji sam naao na net-u izgleda ovako:

Code:


/* window.c --This program opens a window on the display
* Use "gcc -o window window.c -L/usr/X11R6/lib -lX11
* to compile this code.
*/


#include <X11/X.h>
#include <X11/Xlib.h>


int main(void)
{
Display *display;
Window window, rootwindow;
int screen;


display = XOpenDisplay(NULL);
screen = DefaultScreen(display);
rootwindow = RootWindow(display,screen);
window = XCreateSimpleWindow(display, rootwindow,
                0, 0, 100, 100, 1, 0, 0);
XMapWindow(display, window);
XFlush(display);


sleep(10);
XCloseDisplay(display);
return (0);
}



Napravi fin prozorcic na Linux-u, sto je meni dovoljno za pocetak. Nadam se da cu uskoro shvatiti kako se koristi message loop i eventi.

Da li znas kako su Suse-ovci napravili vecinu svojih programa, neki toolkit ili ...?

Pozdrav,
Ljubisa
[ filmil @ 01.10.2004. 10:36 ] @
Citat:
U svakom slucaju, primjer za X koji sam naao na net-u izgleda ovako:
Da malo „prijemčivije“ formulišem: danas niko normalan ne pravi programe direktno koristeći Xlib. X-ov prozorski sistem je mnogo veći i složeniji od Windowsovog. Podešavati sve detalje ručno je posao bez kraja.

Zato rad na mikro-nivou kao u Windowsu, na petlji za događaje (event loop) i sličnim stvarima, nema smisla.

Pogledaj Qt. Pogledaj FLTK. Pogledaj GTK+. Ima i drugih al nema potrebe zasad da se ide dalje. Nisu ljudi bez veze pravili takve stvari.

f
[ ljube @ 01.10.2004. 10:39 ] @
OK, Hvala.

Ljubisa