Archiv verlassen und diese Seite im Standarddesign anzeigen : Qt3 -> Qt4
... hat sich schon jemand an dieses Abenteuer gemacht?
Frage 1:
Kann man Qt3 und Qt4 parallel auf Platte halten und in derselben Sitzung benutzen? Qt3 für die alten Programme, Qt4, um Neues auszuprobieren?
Frage 2:
Da ich bisher viel mit QCanvas gearbeitet habe, was demnächst Q3Canvas heisst, werde ich über alle meine Programme wohl das qt3to4 laufen lassen müssen. Liegen Erfahrungen mit diesem Tool vor?
Frage 3:
Ist das Q3Canvas windows-kompatibel? Oder muss ich auf die angekündigte Neuversion warten?
so long,
BlueJay
peschmae
26-06-2005, 13:35
... hat sich schon jemand an dieses Abenteuer gemacht?
Frage 1:
Kann man Qt3 und Qt4 parallel auf Platte halten und in derselben Sitzung benutzen? Qt3 für die alten Programme, Qt4, um Neues auszuprobieren?
Sicher. Einfach QTDIR und das Zeugs entsprechend setzen dass er jeweils die nimmt die du willst.
Frage 2:
Da ich bisher viel mit QCanvas gearbeitet habe, was demnächst Q3Canvas heisst, werde ich über alle meine Programme wohl das qt3to4 laufen lassen müssen. Liegen Erfahrungen mit diesem Tool vor?
Ich hab es nicht ausprobiert da ich nicht wirklich eine Qt-App gerade rumliegen habe :D
Ich glaub dass kann man eh nicht so allgemein sagen - kommt wohl sehr auf deinen Code drauf an. Nach dem was ich bisher so gelesen habe ist der Übergang recht Aufwändig und dafür dass er so aufwändig ist macht das Tool keinen schlechten Job. Oder so ;)
Am besten guckst du z.B. mal in den Archiven der Qt-Feedback-Liste:
http://lists.trolltech.com/qt4-preview-feedback/
Frage 3:
Ist das Q3Canvas windows-kompatibel? Oder muss ich auf die angekündigte Neuversion warten?
Wie meinen?
MfG Peschmä
Ich glaub dass kann man eh nicht so allgemein sagen - kommt wohl sehr auf deinen Code drauf an. Nach dem was ich bisher so gelesen habe ist der Übergang recht Aufwändig und dafür dass er so aufwändig ist macht das Tool keinen schlechten Job. Oder so ;)
So, wie ich das verstanden habe, heissen die Header und die Klassen anders :(. Sollte rein theoretisch mit einem globalem Search/Replace zu erledigen sein.
Aber meist steckt der Teufel im Detail, irgendeine Function "vergessen" oder so.
(QCanvas -> Q3Canvas)
Wie meinen?
Das ganze Q3-Gedöns soll ja wohl nach und nach verschwinden. Speziell für den Q3Canvas-Teil war eine weitere Version geplant, wohl die entgültige Ablösung für das jetzige QCanvas.
Das alte Paint-System (und QSound) ist ja nun wohl so erneuert worden, dass die Windows-GDI mitbenutzt wird.
Und da der QCanvas-Teil noch nicht erneuert ist...
so long,
BlueJay
Am besten guckst du z.B. mal in den Archiven der Qt-Feedback-Liste:
http://lists.trolltech.com/qt4-preview-feedback/
Danke für den Link, von da aus habe ich mich genau zu diesem Diskussionsthema durchgehangelt:
http://lists.trolltech.com/qt4-preview-feedback/2005-06/thread00016-0.html
(Hoffentlich kriegt Yann bald Antwort auf seine letzte Frage, obwohl ich die Sache mit dem QCanvasPixmapArray sehr schick finde)
Q3Canvas und Konsorten werden wohl die ganze 4er Generation mitmachen, ab 4.1 kann man mit dem neuen Canvas, sprich: QGraphicsView herumexperimentieren.
(Und endlich kann ich vielleicht die Sprites dann da aufbauen, wo sie eigentlich hingehören!)
Sicher. Einfach QTDIR und das Zeugs entsprechend setzen dass er jeweils die nimmt die du willst.
Nein, du hast es nicht gemacht!
Mit dem Setzen des QTDIRs und einiger Pfade ist es nicht getan.
Testumgebung hier:
aus gentoo-portage frisch installiertes Qt4-1.0.0-rc1,
ein Spielchen (Patience) ohne Sound, Quelltext einer compilier- und lauffähige Qt-3.4-Version
1. Die Jungs haben die Bibliotheken zerhackt, und du musst Pfade zu jeder einzelnen Include, Tool oder Bibliotkek legen, die du haben willst. Pfad auf das übergeordnete Include-Directory reicht nicht.
2. Das Tool qt3toqt4 ersetzt zwar brav viele "veraltete" Bibliotheken mit ihren neuen, aber die Includes in den Header-files werden nicht angefasst.
Und die Zeile, die es ins .pro- file einträgt, ist ein Witz, da unvollständig:
#The following line was inserted by qt3to4
QT +=
Das sollte wohl werden: QT += qt3support
Aber diese Zeile händisch eingetragen machte den Kohl auch nicht fett, die Q3Support-Libs wurden nicht gefunden.
Wenn mal wieder Zeit ist, werde ich die Header- und -pro files des Textprojektes dröpje for dröpje zu Fuß auf Qt4 umstellen, aber El Chefe hat die Nase erstmal voll (warten auf bessere Version)
so long,
BlueJay
Der muss noch rein, könnte mein Boss gewesen sein:
(My boss looked at me playing with beta designer, and said "don't tell
me you want budget to port our current app to this [...], we are not
updating!")
http://lists.trolltech.com/qt4-preview-feedback/2005-04/thread00382-0.html
peschmae
27-06-2005, 15:49
Nein, du hast es nicht gemacht!
Mit dem Setzen des QTDIRs und einiger Pfade ist es nicht getan.
Naja, bei Beta 1 ging das noch mehr oder weniger so. Vielleicht täuscht mich auch meine Erinnerung - ist ja schon ne weile her und ich hab darauf auf nichts grösseres portiert. Beta2 liess sich hingegen bei mir dann gar nicht erst kompilieren ;)
MfG Peschmä
undefined
27-06-2005, 22:13
Also ich habe es schon mal versucht aber beim Kompilieren zu viele Fehler gehabt so das es mir zu viel Arbeit war das ganze zu durchforsten.
undefined
28-06-2005, 22:23
... hat sich schon jemand an dieses Abenteuer gemacht?
Frage 1:
Kann man Qt3 und Qt4 parallel auf Platte halten und in derselben Sitzung benutzen? Qt3 für die alten Programme, Qt4, um Neues auszuprobieren?
Ja, habe es jetzt hinbekommen, mein Lösungssatz unter SuSE in der /etc/profile.d zwei Dateien anlegen qt4.csh und qt4.sh Installationspfad bei mir /usr/lib/qt4
## Export QT4 paths
#
if ( ${?PATH} ) then
setenv PATH /usr/lib/qt4/bin
else
setenv PATH $PATH:/usr/lib/qt4/bin
endif
if ( ${?QTDIR} ) then
setenv QTDIR /usr/lib/qt4
else
setenv QTDIR $QTDIR:/usr/lib/qt4
endif
if ( ${?PKG_CONFIG_PATH} ) then
setenv PKG_CONFIG_PATH /usr/lib/qt4/lib/pkgconfig
else
setenv PKG_CONFIG_PATH $PKG_CONFIG_PATH:/usr/lib/qt4/lib/pkgconfig
endif
## Export QT4 paths
#
if [ $PATH ]
then
if ! set | grep PATH | grep /usr/lib/qt4/bin > /dev/null
then
PATH="$PATH:/usr/lib/qt4/bin"
export PATH
fi
fi
if [ $LD_LIBRARY_PATH ]
then
if ! set | grep LD_LIBRARY_PATH | grep /usr/lib/qt4/lib > /dev/null
then
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/qt4/lib
export LD_LIBRARY_PATH
fi
else
LD_LIBRARY_PATH=/usr/lib/qt4/lib
export LD_LIBRARY_PATH
fi
if [ $QTDIR ]
then
if ! set | grep QTDIR | grep /usr/lib/qt4 > /dev/null
then
QTDIR="$QTDIR:/usr/lib/qt4"
export QTDIR
fi
fi
if [ $PKG_CONFIG_PATH ]
then
if ! set | grep PKG_CONFIG_PATH | grep /usr/lib/qt4/lib/pkgconfig > /dev/null
then
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/qt4/lib/pkgconfig"
export PKG_CONFIG_PATH
fi
fi
Falls es Probleme gibt einfach wieder Löschen und den weg über die Benutzer bashrc gehen ;)
mfg undefined
Also ich habe es schon mal versucht aber beim Kompilieren zu viele Fehler gehabt so das es mir zu viel Arbeit war das ganze zu durchforsten.
Ein Vögelchen hat mir geflüstert, dass ich an das falsche qmake, nämlich das von der 3, geraten bin. Die 4er sollte es richten.
Dabei war das $QTDIR auf die 4er gesetzt
:confused:
peschmae
30-06-2005, 06:11
qmake wird in $PATH gesucht - unf dort drin ist deine QTDIR am Ende...
MfG Peschmä
undefined
30-06-2005, 09:37
Jep siehe meinen Code ;)
Ich habe gestern verschiedenes getestet.
Also - erstmal was nicht geht!
qmake Anwendungen kann man bei QTDIR nicht mit zwei Pfaden angeben - schlecht :(
Anwendungen die mit qt3 geschrieben sind kollidieren mit qt4 Bibliotheken.
KDE Anwendungen hingegen ohne Probleme bei mehrern Pfadangaben. ( Macro halt ;) )
Designer
Also das Ding hätten sie sich sparen können!
Es gehen keine Shortcuts mehr weder F3 noch STRG+T
Bei der Eingabe von Text Eingabe Feldern kommt es schon mal vor das nach einem Keydown einfach die eingabe beendet wird :mad:
Die vergabe von SLOTS ist ja mal jetzt richtig Umständlich.
Also als Stabil kann ich das nicht ansehen :rolleyes:
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.