idapython的跨qt兼容模块
idacute的Python项目详细描述
IDapython的跨Qt兼容性模块。
这是什么?
Cute是一个很小的兼容模块,允许IDapython代码使用 pyside/qt4和pyqt/qt5无缝连接。
动机
可爱最初是 Sark (sark.qt)。因为没有人喜欢依赖,特别是对事物 这么小,没人用。所以我决定把它单独发布 模块,这样人们就可以按原样使用文件 在他们自己的密码里。
用法
qt模块
导入QtCore、QtGui和QtWidgets适用于所有qt 版本。对于qt4,QtWidgets是QtGui的别名,因此qt5代码 使用QtWidgets/QtGui分隔也可以在qt4上工作。
from cute import QtCure, QtGui, QtWidgets
连接到信号
cute提供了一个cute.connect(...)方法来减少差异 介于qt4和qt5之间。
# Qt4 Code: QtCore.QObject.connect(my_object, QtCore.SIGNAL('error(QProcess::ProcessError)'), my_callback) # Qt5 Code: my_object.error.connect(my_callback) # Cute Code: cute.connect(my_object, 'error(QProcess::ProcessError)', my_callback)
断开连接的api是相同的,只需使用 cute.disconnect(...)函数。
窗体到小部件
ida有两个api用于获取与tform关联的小部件。一个给 Pyqt和一个Pyside。可爱的包装他们在一个功能。
my_widget = cute.form_to_widget(my_tform)
我应该用哪个qt?
有时,do需要知道代码使用的qt版本。为了 在这些情况下,请询问use_qt5变量。
if cute.use_qt5: print 'Use Qt5' else: print 'Use Qt4'
在项目中
有两种推荐的可爱用法:
- 把它复制到你自己的项目中。这样可以创建代码复制,但避免依赖关系。
- 作为包安装-pip install idacute。
许可
可爱是根据麻省理工学院的许可证发行的,所以你可以在任何 不管怎样。
常见问题解答
q:为什么叫它“可爱”?
a:多年来,我确信“q t”的发音是“qt”。这是我的努力 提醒自己这不是。