我想将一个应用程序(中小型(从Qt5移植到Qt4。我需要手动重写所有连接(目前使用新的Qt5样式(吗?
我正在寻找另一种(简单的(方法:(
另一种方法是使用connect
在运行时转储旧样式的语法等价物,包括文件名和行号,并使用它用旧样式的连接替换新的连接。
通过检测connect,我的意思是使用搜索和替换将connect
替换为myConnect
宏,并编写自己的myConnectImpl
来执行QObject::connect
,然后合成旧样式的connect并转储它。要将方法指针转换为方法索引,请对给定类的元对象使用mataobject->static_metacall(object, QMetaObject::IndexOfMethod, args)
,然后继续超类,直到到达QObject
。
你必须了解一些实现细节才能做到这一点。也许这个正在进行的答案会给你一些启发。
AFAIK,是。但是,您总是可以制作一个小脚本,逐文件进行更改。