qt5与qt4的变更

时间:2022-06-14 23:17:15

1、QT_WA错误:

 error: C2143: 语法错误 : 缺少“)”(在“{”的前面)

解决方法:

#if QT_VERSION >= 0x050000
#define QT_WA(unicode, ansi) unicode
#endif

https://qt.gitorious.org/qt-solutions/ov3r1oads-qt-solutions/commit/70855469ce1fe82e1bba6b88d32a97081a70d7d1



2、QMetaMethod中的Signature改变为methodSignature

3、QAbstractEventDispatcher::TimerInfo 成员函数变更

4、qVariantCanConvert废除:


static boolvariant_is_bool(constQVariant&in)

{
	if(qVariantCanConvert<QString>(in) && string_is_bool(in.toString()))
		return true;
	return false;
}

出错:

E:\source\im\client\qutim\qca-2.0.3\tools\qcatool\main.cpp:1304: error: 'qVariantCanConvert' was not declared in this scope
  if(qVariantCanConvert<QString>(in) && string_is_bool(in.toString()))
     ^

修改为:

static boolvariant_is_bool(constQVariant&in)

{
	if(in.canConvert<QString>() && string_is_bool(in.toString()))
		return true;
	return false;
}

5、qtestlibtestlib 代替。


6、QBool已移除,直接用bool代替。



qt5 c++ api改变列表:

https://qt-project.org/doc/qt-5.0/qtdoc/sourcebreaks.html