OEMTK
, OEMTK_USING
, OEMTK_BEGIN
, OEMTK_END
. Pareil pour MTVIZ
, MTFEM
et MTGEO
. Bref, au lieu d'utiliser OEMTK::Vect3
, écrivez mtMath::Vect3
et au lieu de MTGEO_USING
, écrivez using namespace mtGeo
.QtCore4
, QtGui4
, QtNetwork4
, etc).qt3to4.exe
et une lib avec les anciens widgets nommée Qt3Support
) - voir ci-dessous.qt3toqt4
. correction manuelle du résultat.uic3
qui permet de faire cohabiter Qt 3 et Qt 4.events
par une communication par signaux/slots.ui
de la version 3 à la version 4. Les signaux/slots peuvent être récupérés grâce à l'output d' uic3
.Q3Support
. Erreur, il reste à modifier presque tous les appels de fonction un peu partout dans le code.VizWin
ne sauvent plus leur taille dans la config~/.qt
BWin
et l'object browser provoque une petite erreur sur la console (mais ça marche).QFrame
dans un widget: le widget se resize mal (uniquement dans le designer). le problème vient de la propriété minimumSize
qui est à [16,16] par défaut et qu'il faut mettre à [0,0]..qt
n'est plus utilisé dans Qt 4. Cet abruti voulait donc écrire les settings dans /etc/xdg/
(qui n'est en lecture seule pour l'utilisateur moyen). J'ai donc traduit les settings en Qt 4 pour avoir des settings locales à l'utilisateur. Sous Windows, elles sont stockées dans HKEY_LOCAL_USER/Software/LTAS-MCT
et sous Unix, .conf/LTAS-MCT/Metafor.conf
(fichier texte du genre .ini
)Le plus simple est d'installer les binaires de la version GPL que j'ai installé sur mon PC (sur mon serveur FTP - dark vador). Si vous voulez la recompiler vous même avec .NET, il faut la patcher. C'est expliqué ici.
N'oubliez pas de changer votre QTDIR
dans les variables d'environement.
Il faut recompiler votre VTK avec le widget QVTK
en version 4. Ca peut se faire en relancant cmake
et en modifiant la version de Qt dans les options. Si ça marchait pas, videz la cache.
Le projet a été largement modifié mais les modifs ne sont pas difficiles à faire grâce à qmake
. Une des conséquences directe du passage de Qt en version 4 a été l'obligation de faire de mtQt
une DLL (au lieu d'une lib statique). Conceptuellement, c'est pas plus mal: mtQt
est la couche Qt de l'interface graphique et mtViz
est la couche VTK. De plus mtQt
dépend de mtViz
mais pas l'inverse.
.pro
pour générer un projet VC.NET avec qmake
mtQt
).Qt3Supportd4.lib
; QtGuid4.lib
; QtCored4.lib
en Qt3Support4.lib
; QtGui4.lib
; QtCore4.lib
(utilisation de la version release uniquement!)Pour le reste du projet:
$(QTDIR)/include
les rep suivants $(QTDIR)/include/QtCore
, $(QTDIR)/include/QtGui
, $(QTDIR)/include/Qt3Support
qt-mt3xx.lib
par QtCore4.lib
, QtGui4.lib
, Qt3Support4.lib
meta_config.h
)#ifndef QT_DLL #define QT_LARGEFILE_SUPPORT #define QT_THREAD_SUPPORT #define QT_QT3SUPPORT_LIB #define QT3_SUPPORT #define QT_GUI_LIB #define QT_CORE_LIB #define QT_DLL #endif
J'ai recompilé VTK et Qt sur toutes les machines Unix et les makefiles ont été adaptés.
Vu que Qt 4 ne compile pas sous Tru64, on perd la visu sur chinook
. Par contre, j'ai réussi à la compiler sur calimero
. On a donc la visu partout sauf sur chinook
où il faut générer les makefiles sans l'option –with-gui
.
Reste, de votre côté, à modifier vos profils (variables d'environement - pour ceux qui utilisent mes scripts, tout ça se trouve rangé dans ~/profile.d/
).
gaston | calimero | spirou / tsuno / fantasio | |
---|---|---|---|
QTDIR | /opt/qt4.2.1 | /opt/qt4.2.1 | /usr/local/qt4.2.1 |
path VTK | /opt/vtk5.0.2 | /opt/vtk5.0.2 | /usr/local/vtk5.0.2 |
Vérifiez bien que tout est ok avant de lancer une compilation en testant:
echo $QTDIR moc -v
et vérifiez que votre LD_LIBRARY_PATH
pointe bien vers le bon Qt (pour VTK, on utilise le rpath
, donc c'est pas nécessaire).
A gen4gui/gen4gui.cpp A gen4gui/gen4gui.h R gen4gui/gen4gui.ui.h A gen4gui/meshviewer.cpp A gen4gui/meshviewer.h R gen4gui/meshviewer.ui.h A mtQt/AxesWidget.cpp A mtQt/AxesWidget.h R mtQt/AxesWidget.ui.h A mtQt/BWinWidget.cpp A mtQt/BWinWidget.h R mtQt/BWinWidget.ui.h A mtQt/CameraWidget.cpp A mtQt/CameraWidget.h R mtQt/CameraWidget.ui.h A mtQt/CaptureWidget.cpp A mtQt/CaptureWidget.h R mtQt/CaptureWidget.ui.h A mtQt/ColorsWidget.cpp A mtQt/ColorsWidget.h R mtQt/ColorsWidget.ui.h A mtQt/Command.cpp A mtQt/Command.h A mtQt/CommandList.cpp A mtQt/CommandList.h A mtQt/CuttingWidget.cpp A mtQt/CuttingWidget.h R mtQt/CuttingWidget.ui.h A mtQt/ExtrusionWidget.cpp A mtQt/ExtrusionWidget.h R mtQt/ExtrusionWidget.ui.h A mtQt/GeneralWidget.cpp A mtQt/GeneralWidget.h R mtQt/GeneralWidget.ui.h A mtQt/GUIPythonInterpreter.cpp A mtQt/GUIPythonInterpreter.h A mtQt/LightsWidget.cpp A mtQt/LightsWidget.h R mtQt/LightsWidget.ui.h A mtQt/MetaforWidget.cpp A mtQt/MetaforWidget.h R mtQt/MetaforWidget.ui.h A mtQt/mtQt.h A mtQt/ObjectBrowser.cpp A mtQt/ObjectBrowser.h A mtQt/ObjectBrowserWidget.cpp A mtQt/ObjectBrowserWidget.h R mtQt/ObjectBrowserWidget.ui.h A mtQt/OptionDialog.cpp A mtQt/OptionDialog.h R mtQt/OptionDialog.ui.h A mtQt/PythonWindow.cpp A mtQt/PythonWindow.h R mtQt/PythonWindow.ui.h A mtQt/ShowHideWidget.cpp A mtQt/ShowHideWidget.h R mtQt/ShowHideWidget.ui.h A mtQt/SymmetryWidget.cpp A mtQt/SymmetryWidget.h R mtQt/SymmetryWidget.ui.h A mtQt/TabBaseWidget.cpp A mtQt/TabBaseWidget.h R mtQt/TabBaseWidget.ui R mtQt/TabBaseWidget.ui.h A mtQt/ValuesWidget.cpp A mtQt/ValuesWidget.h R mtQt/ValuesWidget.ui.h A mtQt/VizWin.cpp A mtQt/VizWin.h A mtQt/VizWinWidget.cpp A mtQt/VizWinWidget.h R mtQt/VizWinWidget.ui.h A mtQt/WiresWidget.cpp A mtQt/WiresWidget.h R mtQt/WiresWidget.ui.h A mtQt/XYPlotWidget.cpp A mtQt/XYPlotWidget.h R mtQt/XYPlotWidget.ui.h R mtViz/Command.cpp R mtViz/Command.h R mtViz/CommandList.cpp R mtViz/CommandList.h R mtViz/GUIPythonInterpreter.cpp R mtViz/GUIPythonInterpreter.h R mtViz/ObjectBrowser.cpp R mtViz/ObjectBrowser.h R mtViz/VizWin.cpp R mtViz/VizWin.h
— Romain BOMAN 2006/11/30 08:50