[PyQt] sip fails with "[CLASSNAME] has not been defined"

tuxor1337 at web.de tuxor1337 at web.de
Mon Apr 30 23:32:17 BST 2012


Hi all,

maybe somebody can help me with this. I'm using SIP 4.12.2.

My configure.py script is executing the following sip command line:

/opt/python/bin/sip -c . -b ui/ui.sbf -I /opt/python/share/sip/PyQt4 -x 
PyQt_Accessibility -x PyQt_Cursor -x PyQt_ImageFormat_JPEG -x 
PyQt_Picture -x PyQt_PrintDialog -x PyQt_Printer -x PyQt_ProgressDialog 
-x PyQt_QWS_Cursor -x PyQt_SessionManager -x PyQt_Sound -x VendorID -t 
WS_QWS -x PyQt_Accessibility -x PyQt_SessionManager -x PyQt_PrintDialog 
-x PyQt_Printer -x PyQt_PrintPreviewDialog -x PyQt_PrintPreviewWidget -x 
PyQt_NoPrintRangeBug -x PyQt_qreal_double -t Qt_4_7_2 -x Py_v3 -g 
ui/uimod.sip

... which looks okay to me.

But it fails with this error message:

sip: OnyxDialog has not been defined

The sip-file "ui/uimod.sip" looks like this:

############################
%Module PyOnyx.ui

%Include onyx_dialog.sip
%Include message_dialog.sip
############################

The error is obviously related to the file "message_dialog.sip", because 
when I leave out that file, everything is fine.

################## message_dialog.sip ########################
%Import QtGui/QtGuimod.sip

namespace ui
{

class MessageDialog : OnyxDialog
{

%TypeHeaderCode
#include "onyx/ui/message_dialog.h"
%End

public:
     MessageDialog(QMessageBox::Icon icon,
                   const QString & title,
                   const QString & text,
                   QMessageBox::StandardButtons buttons = 
QMessageBox::NoButton,
                   QWidget * parent = 0);
     ~MessageDialog();

public:
     int exec();
     void updateInformation(const QString & text);
};

};
################## End: message_dialog.sip ################


################## onyx_dialog.sip ########################
%Import QtGui/QtGuimod.sip

namespace ui
{

class OnyxDialog : QDialog
{

%TypeHeaderCode
#include "onyx/ui/onyx_dialog.h"
%End

public:
     OnyxDialog(QWidget *parent, bool show_shadow = true);
     ~OnyxDialog();
};

};
################## End: onyx_dialog.sip ####################


More information about the PyQt mailing list