この情報は昨日リリースされたばっかりの Qt 5.0 beta2 を使ったものです。
個人的に変更する必要があった点
- QApplication が QtGui から QtWidgets に移動
- 大半の GUI 系のクラスは QWidgets モジュールに移動
- QtConcurrent に属するクラスは QtConcurrent のインクルードが必須
- QMouseEvent::posF から QMouseEvent::localPos に変更
- qInstallMsgHandler から qInstallMessageHandler に変更
- さらにコールバック関数の形式も変更されている
- QAbstractItemView の reset が beginResetModel/endResetModel に変更
- reset は QTextStream に属するグローバル関数になった
Qt 5.0 以降でよくなった点
少なくとも OSX での話ですが、以下の点が個人的によくなった点
- OSX Lion から追加されたフルスクリーンモードに標準対応
- clang に標準対応
- Qt 4.8 でも mkspec 的には unsupported 扱いで対応していた
また、Qt 4.8 では Windows での QtOpenGL で QGLFunctions にバグがあり、使い物にならなかったが Qt 5.0 で改修されたらしい(まだ確認できていない)
Qt 5.0 以降で微妙になった点
これも OSX での話
- テキストレンダリングエンジンが変更された
- 少なくとも OSX が持つレンダリングエンジンではなさげ。変更可能かどうか要調査
Qt 5.0 以上であるかをマクロレベルで確認する方法
Qt 5.0 以上であるかは以下のマクロを使って確認できる
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
// This code is compiled with Qt 5.0 or above
#else
// This code is compiled with Qt 4.x
#endif