Qt oder GTK?
-
Was ist denn an GTK+ hässlich? Meinst du die API oder das was der User am Ende auf dem Bildschirm?
Mal was anderes: ich hab das hier noch entdeckt:
http://xfc.xfce.org/index.xhtmlEin Konkurrent zu gtkmm.
Allerdings wirklich nur für Linux. Egal, jedenfalls steht in der Projekthistorie folgendes interessantes:
I started trying to write a program with Gtkmm but found a few bugs. I made an effort to discuss the bugs and help fix them but my novice emails were repeatedly ignored on the Gtkmm mailing list. I gave up...
Also, ich bin doch schon sehr erstaunt!
Wenn selbst die Linux-gtkmm-User so behandelt werden, wundert es einen nicht, wenn die Win32-Version richtig Probleme macht.
-
finix schrieb:
Außerdem sieht GTK ziemlich hässlich aus, ich frag mich immer warum das alle so schön finden...)
Meine Gtkmm-Projekte werden gaanz schön aussehen
Wenn eins fertig ist werde ich es euch zeigen
-
Meine Abneigung bezieht sich auf's Look & Feel
-
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 WindowsIch 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.