Aktuelle Erfahrungen mit gtkmm und Windows



  • Hallo!

    Ich habe ein Projekt begonnen, dass unter Linux und Windows laufen soll.
    Ich hielt es für eine gut Idee gtk+ zu verwenden, schließlich macht gimp unter Windows keine Probleme. Mit den C++-Wrapper gtkmm bin ich dann ins Rennen gegangen und das funktioniert bisher (unter Linux) eigentlich auch ganz gut.

    Ich habe gtkmm allerdings noch nicht auf Windows ausprobiert und lese nun häufiger, dass gtkmm unter Windows keine so gute Wahl wäre. Diese Berichte sind allerdings teils schon etwas älter und daher wollte ich fragen, ob mir jemand aktuellere Erfahrungen zukommen lassen kann?

    Lohnt es sich gtkmm unter Windows überhaupt auszuprobieren, oder sollte ich meine Anwendung schnellstmöglich auf ein anderes GUI umstellen?
    Das wäree jetzt nicht sooo katastrophal, da GUI und Anwendung sauber getrennt sind, doch ich will nach Möglichkeit nur nicht alle GUIs lernen müssen, sondern nach Möglichkeit die eine gut funktioniert. ^^

    Habt vielen Dank im voraus,
    Sascha Atrops



  • So lange der Code portabel ist sollte es deswegen eigentlich keine Probleme geben.
    Generell wird über die Geschwindigkeit von GTKmm gelästert aber ich finds eigentlich gar net so schlimm wenn man das ganze z.b. mit VC++Express 2k5 compiliert.

    Also ich denke nicht das du umstellen musst.

    Aber bestimmt werden sich auch noch andere melden die etwas dazu sagen können 🙂

    BR

    evilissimo



  • evilissimo schrieb:

    So lange der Code portabel ist sollte es deswegen eigentlich keine Probleme geben.
    [...]
    Also ich denke nicht das du umstellen musst.

    Mit der Hoffnung habe ich mich ja dazu hinreißen lassen, einfach gtkmm zu nehmen und damit was aufzubauen.

    Für den Code, der von GTKmm unabhängig ist, bin natürlich ich alleine verantwortlich, das ist klar.

    Du hast bereits [positive] Erfahrungen mit gtkmm unter Windows?

    Vielen Dank für Deinen Beitrag. Macht doch wieder Mut 🙂

    MfG, Sascha


  • Mod

    hm, GTK unter windows ist ein schwieriges Thema.
    Ich nutze GIMP und Dia, welches beides GTK Programme sind.
    Es läuft, aber es ist halt nicht nativ, z.b. stört mich,
    das das normale Theme unter Windows pott hässlich ist.
    Und das man in Editboxen keinen Cursor angezeigt bekommt...

    Vor einem halben Jahr hab ich mich selber nach einem Crossplattform
    Toolkit umgesehen, und mich damals für wxWidgets entschieden, welches
    ich bis heute nicht bereut habe. Allerdings muss man sagen, das
    für mich Windows die wichtigere Plattform ist, und mit Linux eigentlich
    nicht viel zu tun habe. Unter Linux würde ich evtl. sogar gtkmm nehmen.
    Kommt darauf an, welche Plattform wichtiger ist, und was man schreiben möchte.

    Dann gibts noch QT, welches unter Windows GPL zwang hat, wenn man
    nicht gerade Beruflich in einer Firma was schreibt und man es spendiert
    bekommt. Dafür ist es wirklich problemlos auf Windows und Linux einsetzbar.

    Es gibt noch weitere Toolkits, aber diese 3 sind die bekanntesten, und imho
    auch die mit dem Besten Support und Weiterentwicklung.

    phlox



  • Mit dem FOX-Toolkit hatte ich pers. ein sehr schönes Erlebnis: runter geladen, Projektdatei in VC++ reingeladen, funktioniert! Der Codedesign ist auch nicht schlecht, es benutzt zwar ein paar Makros, aber immer noch besser als MFC und wxWidgets vom Design. Die Makros sollen in Zukunft langsam aber sicher durch C++-Code ersetzt werden.

    Nachteil von FOX-Toolkit: es hat keine Themes, so das es unter Linux wie eine Windows-Applikation aussieht. Aber auch hier will das FOX-Team was dran ändern.

    Qt benutzt z.B. so einen komische Präprozessor und kostet Geld, wenn man es Closedsource machen will.

    GTK zeigt in GIMP zwei Schwächen: 1. XP-Look sieht zum erbrechen aus. 2. Der Redraw der Widgets passiert zu spät, so das GIMP-Dialoge immer komplett grau sind. Erst wenn man das Fenster drüber weg gezogen hat, werden später die Widgets gezeichnet. 😡 👎 Ich weiß nicht ob das an GIMP oder GTK(mm) liegt... kann jemand etwas dazu sagen?

    Leider gibt es kein perfektes GUI-Toolkit. Deshalb benutze ich unter Windows weiterhin MFC.



  • Artchi schrieb:

    Mit dem FOX-Toolkit hatte ich pers. ein sehr schönes Erlebnis: runter geladen, Projektdatei in VC++ reingeladen, funktioniert! Der Codedesign ist auch nicht schlecht, es benutzt zwar ein paar Makros, aber immer noch besser als MFC und wxWidgets vom Design. Die Makros sollen in Zukunft langsam aber sicher durch C++-Code ersetzt werden.

    Nachteil von FOX-Toolkit: es hat keine Themes, so das es unter Linux wie eine Windows-Applikation aussieht. Aber auch hier will das FOX-Team was dran ändern.

    Qt benutzt z.B. so einen komische Präprozessor und kostet Geld, wenn man es Closedsource machen will.

    GTK zeigt in GIMP zwei Schwächen: 1. XP-Look sieht zum erbrechen aus. 2. Der Redraw der Widgets passiert zu spät, so das GIMP-Dialoge immer komplett grau sind. Erst wenn man das Fenster drüber weg gezogen hat, werden später die Widgets gezeichnet. 😡 👎 Ich weiß nicht ob das an GIMP oder GTK(mm) liegt... kann jemand etwas dazu sagen?

    Leider gibt es kein perfektes GUI-Toolkit. Deshalb benutze ich unter Windows weiterhin MFC.

    Naja wie bereits erwähnt wurde kann man die Themes ändern 😉 Soviel zum ersten. Beim zweiten ist es imho GTK+ das etwas langsam ist mit dem Zeichnen und manchal ( wie ich schon mal festgestellt habe ) vergisst es auch mal hier und da zu zeichnen.
    Woran das jetzt genau liegt kann ich auch net sagen.

    BR evilissimo.



  • Artchi schrieb:

    Qt benutzt z.B. so einen komische Präprozessor und kostet Geld, wenn man es Closedsource machen will.

    GTK zeigt in GIMP zwei Schwächen: 1. XP-Look sieht zum erbrechen aus. 2. Der Redraw der Widgets passiert zu spät, so das GIMP-Dialoge immer komplett grau sind. Erst wenn man das Fenster drüber weg gezogen hat, werden später die Widgets gezeichnet. 😡 👎 Ich weiß nicht ob das an GIMP oder GTK(mm) liegt... kann jemand etwas dazu sagen?

    Der Look stört nicht, es muss funktionieren. Es darf nicht abstürzen, das ist das Hauptkriterium.
    Geschwindigkeit ist auch nicht soo wichtig, es wird ein Bildbetrachter für Bilder im Gigabyte-Bereich. Das hält keiner im Speicher, ergo dauert das eh etwas, wie schnell gezeichnet wird, interessiert erst, wenn Platten entsprechend schnell Daten liefern können ;->
    Das mit dem Gimp-Dialogen stört mich allerdings, den das klingt ja nicht so, als würde es funktionieren - ist mir unter Gimp aber noch nie aufgefallen!?

    Ich habe jetzt eine Empfehlung für wxWidgets und eine für FoxTk.
    QT fällt erstmal, da a) noch nicht klar ist, ob das Tool OpenSource wird oder nicht und b) ob die Klassen für nicht OpenSource-Anwendungen weiterverwurstet werden sollen.

    Die Info nehme ich schonmal mit, doch derzeit ist für mich die Frage wichtig, ob man mit Gtkmm bei Windows gut arbeiten kann, oder ob ich mich bei der Portierung auf Windows anschließend in die Nesseln setze.

    Danke für eure Beteiligung!

    MfG, Sascha



  • Also das liegt daran wie dein GTKmm Code bisher aussieht. Wenn er portabel genug geschrieben wurde geht das schon.

    Aber GPC hat eigentlich auch einen Compilierfähigen code geschrieben ist aber abgestürzt in einer Funktion was ich mir selbst eigentlich auch nicht erklären kann.

    Aber für so etwas gibt es Workarounds. Und ich denke fast das es eher was mit GLib zu tun hatte als mit GTK+.

    Wie gesagt es liegt hauptsächlich an deinem Code 😉

    BR

    evilissimo

    PS: Ich hatte bisher noch keine Probleme Code auf Linux und Windows zu verwenden ohne das es Probleme gab. Evtl liegt es bei GPC auch an der UTF-8 codierung die Windows dann net verträgt, oder so. Ich sach nur dunno.


Anmelden zum Antworten