Найти - Пользователи
Полная версия: Ошибка сегментирования
Начало » Python для новичков » Ошибка сегментирования
1
bushlyamax
Доброго времени суток

Я делаю обертку для питона библиотеки, основанной на 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()
Андрей Светлов
Сожалею. Не думаю, что вам на форуме кто-то ответит. Очень специфичная тема.
Python C API или boost.python - еще куда не шло.
По вопросам о SIP лучше писать прямо в riverbank
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB