On Tue, 5 Apr 2011 15:50:39 -0700, emmanuel_mays...@lynceantech.com wrote: >> I assume that in C++ UserMessage is a sub-class of QObject, but you have >> lied to SIP about this. If so, then you need to tell SIP that UserMessage >> has a private copy ctor (which it normally infers from the QObject >> definition). >> >> Phil > > I looked at qobject.sip > [...] > private: > QObject(const QObject &); > }; >
So there is no need to add the private UserMessage copy ctor. > $cat UserMessage.sip > > class UserMessage : QObject > { > > %TypeHeaderCode > #include <UserMessage.h> > %End > > public: > UserMessage(); > ~UserMessage(); > > void setup( QObject* statusMessageConsumer, // Setup > the signal / slot connections required to present messages to the user > QObject* warningMessageConsumer, > QObject* errorMessageConsumer ); > > void setup( QObject* generalMessageConsumer ); // Setup > the signal / slot connections required to present messages to the user > > void sendStatusMessage( QString message ); // Send a > status message to the user > void sendStatusMessage( QString message, QString source ); // Send a > status message to the user including a string identifying the source of > the message > > void sendWarningMessage( QString message ); // Send a > warning message to the user > void sendWarningMessage( QString message, QString source ); // Send a > warning message to the user including a string identifying the source > of the message > > void sendErrorMessage( QString message ); // Send an > error message to the user > void sendErrorMessage( QString message, QString source ); // Send an > error message to the user including a string identifying the source of > the message > > signals: > void statusMessage( QString message ); // Signal > a status message > void warningMessage( QString message ); // Signal > a warning message > void errorMessage( QString message ); // Signal > an error message > > void generalMessage( QString message ); // Signal > a message (emitted for status, warning, and error > > private: > // copy constructor entry added as per previous email > UserMessage(const UserMessage &); > }; > > BUT STILL > > g++ -c -pipe -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W > -D_REENTRANT -DNDEBUG > -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -I. > -I/home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//widgets/include > -I/home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//data/include > -I/home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//api/include > -I/home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//plugins/include > -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/python2.6 > -I/usr/lib64/qt4/mkspecs/default -I/usr/include -I/usr/X11R6/include -o > sipCaFrameworkQCaWidget.o sipCaFrameworkQCaWidget.cpp > In file included from > /home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//data/include/QCaObject.h:46, > from > /home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//data/include/QCaWidget.h:36, > from QCaWidget.sip:4: > /usr/include/QtCore/qobject.h: In copy constructor > 'UserMessage::UserMessage(const UserMessage&)': > /usr/include/QtCore/qobject.h:309: error: 'QObject::QObject(const > QObject&)' is private > /home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//data/include/UserMessage.h:38: > error: within this context > In file included from QCaWidget.sip:4: > /home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//data/include/QCaWidget.h: > In copy constructor 'QCaWidget::QCaWidget(const QCaWidget&)': > /home/cls1fs/epics/epics2//workspace/epicsqt/epicsqt-1.1.1-src//ca_framework//data/include/QCaWidget.h:43: > note: synthesized method 'UserMessage::UserMessage(const > UserMessage&)' first required here > [...] > > Any help is appreciated, It looks like you are looking for the problem in the wrong place - QCaWidget seems to have the copy ctor problem. Phil _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt