Qt oder GTK?



  • Also GTK+ fand ich unter Windows auch immer hässlich. Das hab ich immer in GIMP gesehen. Ich muß aber sagen, das GTK+ sich mittlerweile richtig verbessert hat. Denn GTK+ liest unter WindowsXP sogar das orig. Look&Feel aus. Kein Witz! D.h. selbst wenn man das Look&Feel von WindowsXP hart codiert ändert (also ein anderes Look&Feel neben Luna und Classic installiert), erscheint GIMP in dem neuen Look&Feel. 👍 Schaut mal hier:

    http://www.kharchi.de/files/blinder/blinder4.jpg

    Wenn man mal auf die GIMP-Buttons u.a. GIMP-Widgets schaut, dann werden die verdammt gut vom orig. Betriebssystem abgegriffen. Anscheinend benutzt GTK+ die orig. Drawfunktionen von Win32. 😮 👍 Das macht nicht mal Javas SWING, welches die Look&Feels hart codiert hat (nur Classic und Luna verfügbar 👎).

    Mittlerweile sieht GIMP auch mit einer aktuellen GTK+-Version unter Luna verdammt authentisch aus. Das GTK+-Win32-Team hat sich meiner Meinung nach selbst übertroffen! 🙂

    Vor nicht allzu langer Zeit sah GTK+ aber tatsächlich grässlich aus. Da gebe ich dir Recht.

    Ich habe ja mittlerweile auch OpenSuse 10 und Gnome auf meinem PC. Da sich die Themes austauschen lassen, kann GTK+ garnicht mehr hässlich aussehen. Es ist ja abhängig davon, welches du installiert hast, genauso wie unter WindowsXP. Deshalb bin ich ja auch auf einen GTK+-C++-Wrapper scharf. Schade das das gtkmm-Team dem GTK+ nicht würdig ist, denn das GTK+-Team macht unter Win32 eine gute Arbeit. (muß einfach mal gesagt werden!) Ich werde mal GTK+ Win32 direkt ausprobieren. Nur Spezial-Effekte müssen noch her, um zukünftig mit dem Vista-Look&Feel mitziehen zu können.



  • Artchi schrieb:

    Schade das das gtkmm-Team dem GTK+ nicht würdig ist

    😕 Wieso ?
    Benutzt man Gtkmm als Wrapper, wird das aktuelle Windows-Style auch übernommen und die Buttons etc. passen sich deinem aktuellen Windows-Theme auch an...

    Oder hab ich was falsch verstanden 🙄



  • Ich meinte das ganze darauf bezogen, das viele Leute 1. unter Win32 einfach Probleme mit gtkmm haben (wurde hier im Thread auch mehrmals gesagt) und 2. anscheinend Bugs vorhanden sind, die selbst unter Linux überheblich behandelt werden (siehe das Zitat von xfce).

    Das gtkmm und xfce als Wrapper am Ende auch nur GTK+ benutzen, ist mir schon klar. Das Theme usw. meine ich auch nicht. Ich meine wirklich nur, das das GTK+ Team anscheinend hervorragende Arbeiten leistet, auch unter Win32! Aber das gtkmm Team anscheinend die Sache halbherzig nimmt. Es geht nur um die Mentalität.



  • Also die Probleme die ich bei "GTKmm" sehe sind alle auf GTK+ zurückzuführen.
    Ich möchte gerne mal wissen was denn so das/die Problem/e mit GTKmm selbst sein soll/en.

    MfG



  • Also ich weiß nicht wie oft ich es noch sagen soll? Es wurde nun tausendmal sowohl hier im Thread als auch im Forum das Problem gesagt.

    Lade dir bitte mal die Win32-Distri von gtkmm runter und versuch unter VC++ 2003 oder 2005 ein HelloWorld-gtkmm zu erstellen. Dann sag uns bitte wie lange du dafür gebraucht hast. Falls es du es schafft hast, wäre ich für eine idiotensichere Step-By-Step Anleitung dankbar.



  • Also ich hab es schon geschafft das ganze einzurichten. Und ich sehe da auch kein Problem. Ich hab bereits einen Link auf das Projektfile dafür gepostet. Das ganze hat mich vielleicht ne halbe stunde gekostet die ich gebraucht hab um das zu erstellen.

    Und noch mal 10 Minuten um herauszufinden wie man das so generisch machen kann das es mit den von mir bisher immer empfohlenen downloads funktioniert.

    Hier mal ein Hello World mit Debug Build (aber ohne DLLs!)

    http://evilissimo-softdev.de/files/downloads/gtkmm_template_vc71_hw.zip

    BR



  • Artchi schrieb:

    VC++ 2003 oder 2005

    Gilt das auch für die Express Version.
    Dann werde ich es mal probieren, wollte ehe mal VC++ Express testen.



  • evilissimo schrieb:

    Also ich hab es schon geschafft das ganze einzurichten. Und ich sehe da auch kein Problem. Ich hab bereits einen Link auf das Projektfile dafür gepostet. Das ganze hat mich vielleicht ne halbe stunde gekostet die ich gebraucht hab um das zu erstellen.

    Hier mal ein Hello World mit Debug Build ....

    Bei Kleinigkeiten, wie ein Fenster zu öffnen oder ähnliches, hatte ich auch keine Probleme. Kleinere Programme, die lediglich ein paar Dutzend Widgets benutzten ergaben schon Schwierigkeiten.

    Da es das Haupt-Widget, was ich benötige nicht gibt, programmiere ich das selber. Da ich gtk+/gtkmm-Anfänger bin, will ich keine zusätzlichen Schwierigkeiten mit Gtkmm. Also beschränke ich mich nun auf gtk+, was ebenfalls problemlos funktioniert und sich absolut problemlos portieren läßt.



  • Freak_Coder schrieb:

    Artchi schrieb:

    VC++ 2003 oder 2005

    Gilt das auch für die Express Version.
    Dann werde ich es mal probieren, wollte ehe mal VC++ Express testen.

    Hier ne VC C++ 2k5 Express version (auch damit kompiliert) 😉

    http://evilissimo-softdev.de/files/downloads/gtkmm_template_vc_8_hw.zip

    Xin schrieb:

    Bei Kleinigkeiten, wie ein Fenster zu öffnen oder ähnliches, hatte ich auch keine Probleme. Kleinere Programme, die lediglich ein paar Dutzend Widgets benutzten ergaben schon Schwierigkeiten.

    Da es das Haupt-Widget, was ich benötige nicht gibt, programmiere ich das selber. Da ich gtk+/gtkmm-Anfänger bin, will ich keine zusätzlichen Schwierigkeiten mit Gtkmm. Also beschränke ich mich nun auf gtk+, was ebenfalls problemlos funktioniert und sich absolut problemlos portieren läßt.

    Ich frage mich gerade was für ein "Haupt" Widget brauchst. Gerade das erstellen neuer widgets sollte mit GTKmm wesentlich einfacher sein als mit GTK+ aber da ich selbst keine neuen Widgets gebastelt habe kann ich das nicht wirklich beurteilen.
    Aber mich interessiert jetzt trotzdem mal was für ein Widget du denn gesucht hast das es das nicht gibt...

    BR



  • evilissimo schrieb:

    Ich frage mich gerade was für ein "Haupt" Widget brauchst. Gerade das erstellen neuer widgets sollte mit GTKmm wesentlich einfacher sein als mit GTK+ aber da ich selbst keine neuen Widgets gebastelt habe kann ich das nicht wirklich beurteilen.
    Aber mich interessiert jetzt trotzdem mal was für ein Widget du denn gesucht hast das es das nicht gibt...

    Ich implementiere eine Reihe von Programmen mit Standardschnittstellen, die ich miteinander verweben kann. Die Programme werden durch Icons dargestellt, die durch Linien miteinander verbunden werden, um den Ablauf der Programme darzustellen. Die Programme laufen entsprechend seriell oder parallel ab.
    Mir ist kein Widget bekannt, dass das leistet. Ein TreeView wäre alles andere als intuitiv und macht vermutlich mehr Probleme, als die Implementierung einer eigenen Darstellung.



  • Xin schrieb:

    evilissimo schrieb:

    Ich frage mich gerade was für ein "Haupt" Widget brauchst. Gerade das erstellen neuer widgets sollte mit GTKmm wesentlich einfacher sein als mit GTK+ aber da ich selbst keine neuen Widgets gebastelt habe kann ich das nicht wirklich beurteilen.
    Aber mich interessiert jetzt trotzdem mal was für ein Widget du denn gesucht hast das es das nicht gibt...

    Ich implementiere eine Reihe von Programmen mit Standardschnittstellen, die ich miteinander verweben kann. Die Programme werden durch Icons dargestellt, die durch Linien miteinander verbunden werden, um den Ablauf der Programme darzustellen. Die Programme laufen entsprechend seriell oder parallel ab.
    Mir ist kein Widget bekannt, dass das leistet. Ein TreeView wäre alles andere als intuitiv und macht vermutlich mehr Probleme, als die Implementierung einer eigenen Darstellung.

    Ahhh ich hab bei Hauptwidget an ein Fenster gedacht und nicht an so etwas. Was das jetzt genau darstellt, was du da erklärt hast weiß ich zwar net aber soll mir auch egal sein. ;oP

    BR



  • evilissimo schrieb:

    Ahhh ich hab bei Hauptwidget an ein Fenster gedacht und nicht an so etwas. Was das jetzt genau darstellt, was du da erklärt hast weiß ich zwar net aber soll mir auch egal sein. ;oP

    Ich habe derzeit ein paar Menüs und das Ding in dem Fenster.
    Die Zusammenstellung des Programms nimmt also eigenlich fast den kompletten Platz ein.
    Damit ist das in meinen Augen das Hauptwidget 😉



  • evilissimo! Danke, werde ich heute abend ausprobieren. Auch wenn ich schon mal von GPC ein Projektfile bekommen habe, und gtkmm daraufhin eine gtkmm-Headerdatei inkludiert hatte, die sie nicht gefunden hat, weil es sie auch nicht gab. Einfach nur schlecht vom gtkmm-Team! 😡 Irgendwann hat man halt die Nase voll, wenn es zwar irgendwie geht, aber man erstmal ein Forschungszentrum einrichten muß. 😉

    Da ich ja nicht der einzige bin der solche Probleme hat: kannst du die Projektfiles und einem kleinen ReadMe nicht dem gtkmm-Team zur Verfügung stellen? Das wäre schon mal ein Schritt nach vorne bzgl. Win32-Support.



  • Ich sehe, das Hauptproblem ist wohl die Handhabung. Aber manchmal muss man sich halt als Programmierer auch mit Compiler- und Linkeroptionen auseinandersetzen. Das muss man doch sowieso, egal welche Bibliothek man verwendet. Es gibt bestimmt genug Windows Freaks, die ein wenig mehr können als in VC++ 'rumzuklicken.

    Die 2-3 Std. Nerv hatte ich unter Windows auch mit wxWidgets (schon mangels Erfahrung mit Windows und MinGW bzw. VC++, sowie der gewohnten Tools wie grep, find, sed, anständige Konsole und und und). Na und? Einmal, dann läufts. Wird mit Qt auch mindestens 2-3 Stunden dauern - und sei es nur wegen Qt-Slot-moc-blasenabla (den die Kollegen ggf. auch noch lernen müssen).

    Die Bibliothek kann selten was dazu, wenn man zu blöd ist (so wie ich letztens unter Windows 🙂 ). Es gibt Schrott in Qt, Schrott in Gtk+ oder gtkmm, Schrott per MFC, sogar in Java... was ihr wollt. Und das beste ist in C und Lisp und heist emacs (http://www.bloomington.in.us/~brutt/msf-abbrev-demo.gif). Trotzdem schreib ich nicht in C und Lisp. Weil für mich gtkmm besser ist und C und Lisp mich in den Wahnsinn treiben.

    Guck halt mal eine Woche in die gtkmm Mailinglist rein. Das ist nicht halbherzig, das ist Personalmangel. Offiziell sind es 11 Leute, die das vorantreiben. Die Mailinglist schmeißt 'ne Hand voll. Aber die tun das nun seit Jahren kontinuierlich. Gtkmm läuft überall, wo GNU autotools, Glib und Gtk+.

    Gottchen, und wo hier gerade vom native Lokk'nFeel die Rede war - da ist Qt der Star??? Oder gar im Laufzeitverhalten (vor allem unter Linux)??? Größe der Binaries? Multithreading und GUI??? Ja wo denn eigentlich? Da nehm ich doch gtkmm - das hat auch so seine Tücken, aber auch echte Stärken und kostet NADA 😉
    Und mein kleines Windowsproblem ist wohl eher ein Compiler/Linkerproblem. Jedenfalls findet dieser Link 8 Seiten zum gleichen Problem unter Windows mit Cygwin/gcc und Qt http://www.google.de/search?hl=de&q=enable-runtime-pseudo-reloc+Qt
    Das sind welche bei, die bekommen nicht mal die Qt-Demos (Tutorial Example 2) kompiliert unter Windows 😃

    Ich wollte unter Linux anfangen etwas mit GUI zu programmieren..

    Ach ja: Warum nicht in Teilen auf Gtk+ ausweichen? C++ ist auch C, und gtkmm ist ein reiner Wrapper um Gtk+ - sonst (fast) nichts:

    grep -F '_Gtk' /usr/include/gtkmm-2.4/gtkmm/*.h
    


  • e.lienen schrieb:

    ..Gottchen, und wo hier gerade vom native Lokk'nFeel die Rede war - da ist Qt der Star??? Oder gar im Laufzeitverhalten (vor allem unter Linux)??? Größe der Binaries? Multithreading und GUI??? Ja wo denn eigentlich? Da nehm ich doch gtkmm...

    ehm, look ist m.e. bei gnome besser (obwohl da auch manche sachen altbacken ausschaun). was allerdings die performance angeht ist meiner meinung nach qt um laengen besser. opera startet bei mir schneller als ff (und opera ist ein schwergewicht mit email, chat usw..), und die fluessigkeit der bedienung ist auch besser (beim ff muss ich immer wieder warten bis da ein menue aufgeht, bis er endlich die seite zurueckblaetert usw usw..).

    @groeße der binaries
    hab ich jetzt nicht geschaut, aber who cares?
    ist doch bei heutigen festplattengroeßen total schnautze..
    @multithreading
    wird unterstuetzt, siehe hier:
    http://doc.trolltech.com/4.1/qthread.html
    (wie gut diese implementierung ist, kann ich nicht beurteilen, noch nie damit gearbeitet)
    @gui
    was du meinen?
    vielleicht ein paar dutzend classen gefaellig?
    http://doc.trolltech.com/4.1/qtgui.html
    bitte sehr..

    btw:
    das war eine voreingenommene meinung. fuer mich ist und bleibt qt der king. ich hab auch noch nie qtk / gtkmm hergenommen. also das bitte nicht auf die waagschale legen..

    mfg aman..



  • e.lienen: ha ha, DU als Entwickler hast vllt. keine Probleme das Teil aufzusetzen (wobei mir 3 Stunden echt zu viel sind, sorry Freunde), aber der durchschnittliche Benutzer hat durchaus Probleme. Behaupte ich. Mir geht's doch nicht anders, eine Lib die schwierig zu handhaben ist und sich nur kompliziert installieren lässt, wird eben gedumpt. Fertig. Es gibt schließlich genug Alternativen.

    Da hilft es mir nicht, dass nur 11 Leute an gtkmm entwickeln. Ich kauf ja auch nicht aus lauter Spaß n Auto an dem nur 10 Ingenierue arbeitn, das halt etliche Macken hat und nur in England richtig läuft^^

    Damit wir uns nicht falsch verstehen: Ich benutze das gtkmm-Toolkit gerne, unter Linux. Ich benutze kein Windows, daher könnte es mir egal sein, dass es dort nicht so super duper einfach läuft, aber wäre dies der Fall, dann würde sich der Nutzerkreis vermutlich erheblich erweitern und dass würde die Community stärken.

    MfG

    GPC



  • Ich sehe, GPC ist einer der wenigen hier, die mit mir auf einer Linie sind, was das gtkmm-win32-Thema angeht. 👍 🙂 Deshalb werde ich zu e.lienens Post auch nichts weiter sagen.



  • aMan schrieb:

    opera startet bei mir schneller als ff (und opera ist ein schwergewicht mit email, chat usw..), und die fluessigkeit der bedienung ist auch besser (beim ff muss ich immer wieder warten bis da ein menue aufgeht, bis er endlich die seite zurueckblaetert usw usw..).

    Das ist weniger gtk oder qt zuzuordnen, sondern eher der Frage, wie Opera oder Firefox den Grafikaufbau regeln.

    aMan schrieb:

    @groeße der binaries
    hab ich jetzt nicht geschaut, aber who cares?
    ist doch bei heutigen festplattengroeßen total schnautze..

    Jow... die dümmsten Argumente sind auch am weitesten verbreitet.

    Das ist ungefähr so, als würde ich die Qualität Deiner Aussage daran belegen, dass Schnauze ohne 't' geschrieben wird und wenn Du Dich schon für eine internationale Buchstabenkombinationen wie oe entscheidest, dass Du dann aus einem ß auch ein ss machen solltest - abgesehen davon, dass man auch in internationalisierteren Schreibweisen deutsche Hauptworte weiterhin groß schreibt - von dem Ausdruck 'total Schnauze' mal ganz abgesehen.

    Kleine Libraries zeichnen sich dadurch aus, dass man weniger laden muss und weniger Speicher verbrät, um die eigentliche Lib im RAM zu halten.

    Es geht nicht nur um Festplattenspeicher, der aber ebenfalls möglichst zu schonen ist.
    Grundlegende Libs haben hocheffizient implementiert zu sein. Es gibt prinzipielle Fragen, dies ist so eine.
    Wenn Du Dich für eine hochspezialisierte Software entscheidest, die erstmal 5G auf Deiner Platte wegnimmt und unter 1G RAM nicht startet, bitteschön.
    Wenn das jede grundlegende Lib so macht, dann sind das schon verdammt viele Gigabytes, denn es gibt viele grundlegende Libs, die im Zusammenspiel dafür sorgen, dass Dein Computer läuft.

    aMan schrieb:

    @gui
    was du meinen?
    vielleicht ein paar dutzend classen gefaellig?
    http://doc.trolltech.com/4.1/qtgui.html
    bitte sehr..

    Die Anzahl der Klassen macht nicht die Qualität aus. Ich bezweifle nicht, dass QT qualitativ ist, aber ein paar Dutzend Klassen sind dafür kein Argument.
    Ich bevorzuge grundsätzlich eine geringe Anzahl möglichst universell einsetzbarer Klassen. Mein Hirn merkt sich nämlich bevorzugt das, womit ich am meisten anfangen kann - ohne dass ich für jeden Spezialfall eine eigene Klasse haben muss.

    Was das angeht, würde ich aber auch bei gtk ebenfalls nochmal mit dem Rotstift rangehen.

    Ähnliches überlege ich bei Deinem Deutsch hier ebenfalls, oder was Du meinen dazu?

    Wer programmiert sollte in einigen Bereichen einen Hang zur Exaktheit entwickelt haben und Dein Schreibstil erscheint mir nicht der Versuch zu sein, sich an der Deutschen Syntax zu orientieren.

    aMan schrieb:

    das war eine voreingenommene meinung. fuer mich ist und bleibt qt der king. ich hab auch noch nie qtk / gtkmm hergenommen. also das bitte nicht auf die waagschale legen..

    Wenn Du selber schon klarstellst, dass Du nichts sinnvolles dazu zu sagen hast, warum tust es dann nicht auch? ^^

    Hinweis: Diese Mail ist nicht böse gemeint, aber irgendwie musste ich meine Zehennägel wieder glattbügeln.



  • Sorry, man wird ja mal fragen dürfen (auch wenn man nicht 'auf der Linie' ist, soll wohl heißen 'das richtige' denkt 😕 ... bin doch glatt ein bischen beleidigt 😞 ).

    Multithreading bietet Qt selbstverständlich schon lange, ebenso wie eine umfangreiche und gute Klassenbibliothek. Ich hab' doch selbst schon damit gearbeitet, und es war auch gut. Aber wo es nun insgesamt besser als gtkmm ist kann ich halt nicht sehen.

    Wenn ich jedesmal 3 Std bräuchte, um unter Windows eine neue Lib zu installieren und einzubinden, dann müsste ich mich ja vor den Spiegel stellen und brüllen: "e.lienen, Du bist gefeuert!"

    Frage:
    Wer, außer einem Programmierer sollte denn Gtk, gtkmm, Qt, VC++ und all das worum es in diesem Forum geht benutzen??? Wer ist denn der normale Benutzer?



  • @aAman:
    Sorry,
    'Multithreading und GUI'
    meinte natürlich Multithreading in zusammenarbeit mit GUI. Da hatte ich noch vor 2 Jahren erhebliche Klippen zu nehmen mit Qt unter Linux.


Anmelden zum Antworten