[Python-de] Grafische Oberfläche

Stefan Behnel behnel_ml at gkec.informatik.tu-darmstadt.de
Sam Okt 29 18:36:49 CEST 2005


Diez B. Roggisch schrieb:
>>>>> Qt ist binärkompatibel über alle Versionen von Qt1 bis Qt3. Punkt.
>>>
>>> Sicher? Ich denke nicht, innerhalb der Major Release Qt1, Qt2 und Qt3
>>> liefert Trolltech Binaerkompatibilitaet ja, aber ich denke nicht ueber
>>> Major Releases hinweg. Das wuerde bedeutet, dass die Klassen in Qt1
>>> diesselben Methoden und Attribute haben wie in Qt3 und das glaub ich
>>> wirklich nicht...
>>
>> Ein für Qt 1.0 geschriebenes Programm läuft im Allgemeinen auch mit
>> Qt3. Das
>> ist einfach der Vorteil von OO beim Design von GUI-Toolkits. Dass
>> viele Dinge
>> inzwischen ausgewechselt sind und manches veraltet oder aufs Abstellgleis
>> geschoben, führt dann eben dazu, dass ein ordentlich für Qt3
>> geschriebenes
>> Programm wohl nicht mehr mit Qt1 funktioniert. Aber das stellt in den
>> wenigsten Fällen ein Problem dar.
> 
> Nenene, das stimmt mal garnicht. Da hat Andreas schon recht:
> binärkompatibliät geht nur zwischen Majors - und ist BTW verdammt
> schwierig zu garantieren in C++.

Wobei es die Frage ist, was davon an Qt liegt und was am C++-Compiler. Nicht
nur der GCC (insbesondere der g++/libstdc++) hat sich ja mit den Jahren um
Größenordnungen gewandelt, die Binaries egal welcher Art inkompatibel machen.
Wenn du den selben C++-Compiler nebst Stdlib und anderen Abhängigkeiten
nimmst, mit dem du damals die Qt1 übersetzt hast, dann sollte das mit der
Kompatibilität auch bei C++ hinhauen. Allerdings ist es dann meist doch
einfacher, die Qt mit neu zu übersetzen, denn von dem Kompilat hätte sonst
mangels alter libstdc++ auch niemand mehr was. Mit anderen Compilern habe ich
da nicht genug Erfahrung.

Aber ist auch egal, ich werde den Nachweis ohnehin nicht antreten. Eigentlich
hat die Diskussion auch nichts auf der Python-Mailingliste zu suchen, da wäre
dann die Kompatibilität von PyQt wichtiger. Und die ist dann wieder eine ganz
andere Geschichte...

Stefan