Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 10, 2010 17:02:35

bushlyamax
От:
Зарегистрирован: 2010-09-08
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка сегментирования

Доброго времени суток

Я делаю обертку для питона библиотеки, основанной на 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);
................
};
вызов SetMapFileName вызывает ошибку сегментирования при завершении программы
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()



Отредактировано (Сен. 10, 2010 17:05:21)

Офлайн

#2 Сен. 10, 2010 21:07:50

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Ошибка сегментирования

Сожалею. Не думаю, что вам на форуме кто-то ответит. Очень специфичная тема.
Python C API или boost.python - еще куда не шло.
По вопросам о SIP лучше писать прямо в riverbank



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version