GTK+, GDK programozás

Kezdőlap Fórumok Programozás GTK+, GDK programozás

9 bejegyzés megtekintése - 21-29 / 29
  • Szerző
    Bejegyzés
  • #2050878
    pointux
    Felhasználó

      „Ezt most nem értem.”
      A menu widget így néz ki:
      Gtk::Menu* Ez_egy_menu_widget;
      * Ez_egy_c_widget; // a * elé valamit be kell írni, különben szintaktikai hiba

      Ehelyett inkább használj Gtk::Widget-et…(statikus konvertálással; esetleg dinamikussal, ha másképp nem megy) elvileg bármi más is lehet, mivel bármit bármivé (widget) át lehet konvertálni, csak utána realizáld (vagy utána is), mert esetleg gond lehet belõle.

      #2050879
      lacix
      Felhasználó

        Ez alapján próbálkozok.
        http://developer.gnome.org/doc/API/libglade/libglade-notes.html
        Egyszerûbb gtk-s felületet sikerült csinálnom, és a signal-ok is mûködtek.

        A konvertálás szerintem menni fog, de hol csináljam?

        Vagy inkább így kellene?
        http://developer.gnome.org/doc/API/libglade/libglade-extending.html

        #2050880
        pointux
        Felhasználó

          tipus_uj tu;
          tipus_regi tr;

          vagy implicit módon végbe tud menni:
          tu = tr;

          vagy tipuskonverciós operátorral
          tu = (tu)tr;

          c++-be még megy ez is:
          osztaly::tu = dynamic_cast tr;

          Ahogy írtam fontos a körültekintés… mert ugye ezek csak címek, tehát bármit bármivé át lehet konvertálni, viszont gondolj csak bele, a tu mérete 20kb, amíg a tr-é 10kb, akkor ha ezek nem mutatók az azonnali segfaultot jelent – az illegális memória hozzáférési kísérlet miatt. Ha ezek mutatók, akkor nem feltétlenül, – hiszen van némi dinamicitás -, de óvatlan kísérletnél elõfordul.

          #2050881
          lacix
          Felhasználó

            Tipuskonverzió világos.
            De megnézted az elõbb belinkelt oldalakat?
            Nekem már az xml-ben kellene speciális widgeteket használni, a sima GTK+ -osak helyett, de ezek átkonvertálhatók.

            #2050882
            lacix
            Felhasználó

              „Pl. gtk-hoz most kellett csinálnom egy normális ui managert, mert a benne lévõ elég gagyi.”
              Ebbõl van vmi GPL-es stabil kiadás?

              #2050883
              pointux
              Felhasználó

                „Nekem már az xml-ben kellene speciális widgeteket használni, a sima GTK+ -osak helyett”
                Mármint saját megírtakat?
                Nos arról van szó, hogy a glade xml file csak egy leíró file… semmilyen futtatható kódot nem tartalmaz csak kostansokat, szövegeket. Tehát mondjuk csinálasz egy saját ablakfüggvényt, akkor az xml fileben csak mondjuk az ablak nevét, gombok számát nevét stb. adhatod meg. A saját függvényed is meg tudja kapni az xml fileból a paramétereket – errõl van az elsõben szó. A másodikban arról, hogy hogyan lehet egy ilyen xml-t beolvasni és lekezelni egy egyszerû signal-t (most meg nem mondom magyarul mi a neve – csak néha jut eszembe :)))), amit most itt nem deffiniálnak, hogy mi hozta létre.
                Azonban, ha nem egy widgetet akarsz létrehozni, hanem egy mittudomén macskanyávogás függvényt az így nem fog menni… egyszerûen biztos, hogy nem. (csak gtk containert lehet deffiniálni benne.) Ilyenkor természetesen a típus konverció is értelmetlen… max úgy kezdhetsz az egésszel valamit, ha tudod, hogy egy container hogy mûködik. Ebben az esetben bármilyen adatot ki tudsz belõle szedni. A másik megoldás, hogy saját osztályt származtatsz a containerbõl és átveszed a paramétereket. Ez utóbbi ugyan oo viszont c alatt nem tudom, hogy hogy kell csinálni (gondolom sima függvény által is írható paraméterlistával, vagyis mutatók a paraméterekben…).

                Az szerintem nem fog menni, mivel a compiler eleve nem „érti” meg. Viszont te magad is írhatsz ílyet, bár az, ha fárasztó, akkor használj py-t. Azzal még futtatható kódot is berakhatsz.
                Tehát a glade xml file csak egy leíró file, amiben

                „Ebbõl van vmi GPL-es stabil kiadás?”
                Ha most egy amorf, folyamatosan változó dologról – ami éppen mûködik – ki lehet jelenteni, hogy stabil, akkor igen. 🙂 Szóval a késztõl messze van… egy csomó mindent nem vesz figyelembe.

                #2050884
                lacix
                Felhasználó

                  Kösz!
                  Tehát jó esélyem van arra, hogy beágyazott rendszer widgetjei, amik konténerszerûen használhatók simán viszi õket a libglade. Igaz?

                  „akkor használj py-t”
                  Ez vmi pythonos cucc?

                  „Tehát a glade xml file csak egy leíró file, amiben”
                  Itt nem maradt le vmi?

                  #2050885
                  pointux
                  Felhasználó

                    „Tehát jó esélyem van arra, hogy beágyazott rendszer widgetjei, amik konténerszerûen használhatók simán viszi õket a libglade. Igaz?”
                    Szerintem igen…

                    „Ez vmi pythonos cucc?”
                    pygtk… py scripttel is lehet gtk-progit írni. Mivel ez teljes mértékben runtime lesz fordítva, ezért bármilyen f. kód, (függvény) stb. megírható benne a py keretein belül.

                    „Itt nem maradt le vmi?”
                    Nem… ott van amit akartam: csak statikus infókat tartalmaz – konstansok, stringek stb., semmilyen f. kód elõállítására nem alkalmas, ellentétben a py-nal.

                    #1882495
                    csaba
                    Felhasználó

                      Hello!

                      Szeretnék megismerkedni a GDK-val, de nem találok semmilyen használható leírást. Csak GDK Reference Manual-om van (api, referencia). De az alapokhoz elõször szükésegem lenne egy leíráshoz.

                      A GTK+ -hoz van egy angol nyelvû tutorialom, azzal elboldugolok. De jó lenne egy magyar nyelvû leírás is.

                      Elsõ lépésként csak annyit szeretnék, hogy létrehozok egy GTK+ ablakot, és ebbe pl. rajzolni egy téglalapot. Az ablakot meg tudom csinálni, de rajzolni nem tudok bele. Tehát kellene egy egyszerû példaprogram.

                      (Furcsa, de a GDK-hoz semmilyen használható anyagot nem találtam a neten, leszámítva persze a referenciát.)

                    9 bejegyzés megtekintése - 21-29 / 29
                    • Be kell jelentkezni a hozzászóláshoz.