Я делаю обертку для питона библиотеки, основанной на qt, поэтому использую SIP. Обертка вполне нормально собирается, библиотека импортируется в питон, но с некоторыми методами и атрибутами почему-то проблемы: обращение к ним вызывает ошибку сегментирования. Как я понимаю, тут дело во владении объектом, но что сделать чтобы стало верно? директива TransferThis не помогает. Вот, например
class QDMapView : QDMapViewWindow
{
%TypeHeaderCode
#include <qdmcmp.h>
%End
public :
QDMapView(QWidget *parent /TransferThis/ = 0, const char *name = 0);
~QDMapView();
public slots:
void SetMapFileName(const QString qstring);
void SetMapActive(bool active);
void SetMapContour(bool value);
................
};
import qt, sys, gis
if __name__ == "__main__" :
app=qt.QApplication(sys.argv)
win=gis.QDMapView()
win.SetMapFileName("Podolsk.map")
app.setMainWidget(win)
win.SetMapActive(True)
win.SetMapVisible(True)
win.show()
app.exec_loop()