LoginSignup
16
17

More than 5 years have passed since last update.

Qt4.x => Qt5 での変更箇所

Last updated at Posted at 2012-11-13

この情報は昨日リリースされたばっかりの 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
16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17