GUI Programmieren



  • Guten Tag erstmal;

    Also ich hätte da mal ein paar Fragen, da ich mich nun ausgiebig mit c / c++ programmierung beschäftigt habe (Konsole) möchte ich nun in die Welt der GUI einsteigen.

    Aber da gibt es soviel 😕

    Was ich suche ist, eine leicht zu verstehende und portable GUI, also was man auch unter windows nutzen könnte..

    Ich habe da was von gtkmm gelsen, aber leider finde ich keine richtigen howtos, tutorials....

    Vielleicht kann einer (oder mehrere 😉 ) mal ein wenig darüber labern, oder so

    Wäre sehr verbunden

    Danke im vorraus

    ethan_hunt



  • Also, ich habe mal was in wxWidgets gemacht und fand dies absolut nicht schwer. Jeder nimmt das aber anderster auf und daher kann man dies für jemanden schlecht beurteilen ob dies schwer ist.



  • Ich hab selbst mit gtk (respektive gtkmm) noch nichts gemacht, aber was man so hört, soll es ein gutes C++ Interface bieten. Nur solltest du bedenken, dass gtk kein natives Look'n'Feel des OS bietet, und das kann für Benutzer des Programms ungewohnt sein.
    wxWidgets find ich deshalb "brauchbarer", ist aber halt Geschmackssache. Für wxWidgets gibts ua auch GUI Designer, zB VisualWx.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • schau mal in die FAQ, da gibts einen Eintrag dafuer!!!

    Ich selber hab kleinere Projekte in gtkmm gemacht und fands akzeptabel. Blöd ist, dass jeder WindowsUser der Programme (für Linux gilt das nicht) sich - die Runtime installieren muss. Das kann evtl. umständlich sein...
    Mit portablen Toolkits hab ich kaum Erfahrung, aber wxWidgets ist in jedem Fall einen Blick wert. Unter http://wxdsgn.sourceforge.net/ findest du auch eine spezielle Version von Dev-Cpp mit integriertem GUI Designer dafür





  • wow

    danke für eure Antworten

    werde mir mal gtk reinziehen.

    Aber so seiten mit besseren tutorials gibbet net, odda ?



  • gtkmm hat ein ziemlich gut verständliches: ➡ http://www.gtkmm.org/gtkmm2/docs/tutorial/html/index.html
    Aber gtk != gtkmm!
    gtk: reines C
    gtkmm: Moderner C++-Wrapper für gtk.



  • Jo danke dir 😃

    sehr gutes tut

    habe jetzt dieses hello world gemacht, bekomme im dev-cpp folgende meldung

    Compiler: Default compiler
    Building Makefile: "C:\Dokumente und Einstellungen\a\Desktop\c++\gtkmm\Makefile.win"
    Führt make... aus
    make.exe -f "C:\Dokumente und Einstellungen\a\Desktop\c++\gtkmm\Makefile.win" all
    g++.exe -c helloworld.cc -o helloworld.o -I"C:/Programme/Dev-Cpp/include/c++/3.3.1" -I"C:/Programme/Dev-Cpp/include/c++/3.3.1/mingw32" -I"C:/Programme/Dev-Cpp/include/c++/3.3.1/backward" -I"C:/Programme/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/Programme/Dev-Cpp/include" -IC:/GTK/include/gtkmm-2.4 -IC:/GTK/lib/gtkmm-2.4/include -IC:/GTK/include/glibmm-2.4 -IC:/GTK/lib/glibmm-2.4/include -IC :/GTK/include/gdkmm-2.4 -IC:/GTK/lib/gdkmm-2.4/include -IC:/GTK/include/pangomm-1.4 -IC:/GTK/include/atkmm-1.6 -IC:/GTK/i nclude/gtk-2.0 -IC:/GTK/include/sigc++-2.0 -IC:/GTK/lib/sigc++-2.0/include -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/lib/gtk-2.0/include -IC:/GTK/include/pango-1.0 -IC:/GTK/include/atk-1.0

    g++.exe: cannot specify -o with -c or -S and multiple compilations

    make.exe: *** [helloworld.o] Error 1

    Ausführung beendet

    Habe eigentlich alles eingefügt, wie es auf der seite
    --> http://www.gtkmm.org/gtkmm2/docs/tutorial/html/ape.html

    stand....

    edit:

    hier mal ein paar angaben:

    C:\Programme\Dev-Cpp\bin>pkg-config --libs --cflags gtkmm-2.4
    -IC:/GTK/include/gtkmm-2.4 -IC:/GTK/lib/gtkmm-2.4/include -IC:/GTK/include/glibmm-2.4 -IC:/GTK/lib/glibmm-2.4/include -IC
    :/GTK/include/gdkmm-2.4 -IC:/GTK/lib/gdkmm-2.4/include -IC:/GTK/include/pangomm-1.4 -IC:/GTK/include/atkmm-1.6 -IC:/GTK/i
    nclude/gtk-2.0 -IC:/GTK/include/sigc++-2.0 -IC:/GTK/lib/sigc++-2.0/include -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.
    0/include -IC:/GTK/lib/gtk-2.0/include -IC:/GTK/include/pango-1.0 -IC:/GTK/include/atk-1.0 -LC:/GTK/lib -lgtkmm-2.4 -lgd
    kmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpangomm-1.4 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpa
    ngowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv



  • ok habe das gelöst, beim copy --> paste aus der konsole, hat sich ein C vor die doppelpunkte geschlichen 😉

    so nun habe ich ne andere Fehlermeldung

    Compiler: Default compiler
    Building Makefile: "C:\Dokumente und Einstellungen\a\Desktop\c++\gtkmm\Makefile.win"
    Führt make... aus
    make.exe -f "C:\Dokumente und Einstellungen\a\Desktop\c++\gtkmm\Makefile.win" all
    g++.exe -c helloworld.cc -o helloworld.o -I"C:/Programme/Dev-Cpp/include/c++/3.3.1" -I"C:/Programme/Dev-Cpp/include/c++/3.3.1/mingw32" -I"C:/Programme/Dev-Cpp/include/c++/3.3.1/backward" -I"C:/Programme/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/Programme/Dev-Cpp/include" -I:/GTK/include/gtkmm-2.4 -I:/GTK/lib/gtkmm-2.4/include -I:/GTK/include/glibmm-2.4 -I:/GTK/lib/glibmm-2.4/include -I:/GTK/include/gdkmm-2.4 -I:/GTK/lib/gdkmm-2.4/include -I:/GTK/include/pangomm-1.4 -I:/GTK/include/atkmm-1.6 -I:/GTK/include/gtk-2.0 -I:/GTK/include/sigc++-2.0 -I:/GTK/lib/sigc++-2.0/include -I:/GTK/include/glib-2.0 -I:/GTK/lib/glib-2.0/include -I:/GTK/lib/gtk-2.0/include -I:/GTK/include/pango-1.0 -I:/GTK/include/atk-1.0

    In file included from helloworld.cc:3:
    helloworld.h:6:26: gtkmm/button.h: No such file or directory
    helloworld.h:7:26: gtkmm/window.h: No such file or directory
    In file included from helloworld.cc:3:
    helloworld.h:9: error: `Gtk' is not a class or namespace

    helloworld.h:10: error: `Window' is not a class or namespace

    helloworld.h:10: error: invalid base-class specification

    helloworld.h:21: error: syntax error before `::' token

    helloworld.h:3:1: unterminated #ifndef
    helloworld.cc: In constructor HelloWorld::HelloWorld()': helloworld.cc:7: error: class \HelloWorld' does not have any field named `
    m_button'

    helloworld.cc:10: error: `set_border_width' undeclared (first use this
    function)

    helloworld.cc:10: error: (Each undeclared identifier is reported only once for
    each function it appears in.)

    helloworld.cc:14: error: `m_button' undeclared (first use this function)

    helloworld.cc:14: error: `SigC' undeclared (first use this function)

    helloworld.cc:14: error: syntax error before `::' token

    helloworld.cc:17: error: `add' undeclared (first use this function)

    make.exe: *** [helloworld.o] Error 1

    Ausführung beendet



  • Zeig mal den Sourcecode.

    Normalerweise muss man auch #include <gtkmm.h> schreiben ... (falls es das war)
    nicht " " sondern < > -> <gtkmm/button.h> z.B.

    MfG


Anmelden zum Antworten