Qt5從Qt4升級后,很多原來Qt4中定義的函數或者變量由於種種原因在Qt5中被遺棄,所以用Qt5來編譯Qt4的一些工程項目時,難以避免的會需要修改一些地方,下面就羅列一些我遇到的一些需要修改的地方:
- Qt5中UnicodeUTF8不再是QCoreApplication的一個成員,所以下面的代碼需要修改:
例如:
YourClass->setWindowTitle(QApplication::translate(YourClass, “List”, 0, QApplication::UnicodeUTF8));
需要修改為:
YourClass->setWindowTitle(QApplication::translate(YourClass, “List”, 0));
- Qt5中的QString不再定義toAscii()函數,所以所有出現該函數的地方需要用toLatin1()來替換:
例如:
this->_cvCap = cvCaptureFromAVI(path.toAscii().constData());
需要修改為:
this->_cvCap = cvCaptureFromAVI(path.toLatin1().constData());