On Mon, 23 Aug 2010 11:30:55 +0800, "燕子" <[email protected]> wrote: > Dear sir. > my head file is </:includetail> > myqtlibtest.h:</:includetail> > #ifndef MYQTLIBTEST_H > #define MYQTLIBTEST_H</:includetail> > #include "myqtlibtest_global.h" > //#include <windows.h> > #include <qstring.h> > #include <qdebug.h> > #include "test.h"</:includetail> > class MYQTLIBTEST_EXPORT myqtlibtest > { > public: > myqtlibtest(); > ~myqtlibtest(); </:includetail> > void show(); > int testshow();</:includetail> > private: > Test *testpointer;</:includetail> > }; > MYQTLIBTEST_EXPORT int myshow(int aa);</:includetail> > #endif // MYQTLIBTEST_H</:includetail> > my sip wrappers is</:includetail> > myqtlibtest.sip:</:includetail> > %Module myqtlibtest 0</:includetail> > > %Import QtCore/QtCoremod.sip > %Import QtGui/QtGuimod.sip > class myqtlibtest > { > %TypeHeaderCode > #include "myqtlibtest.h" > %End > public: > myqtlibtest(); > ~myqtlibtest(); > void show(); > int testshow(); > private: > Test *testpointer; > }; > int myshow(int aa); > > when I run the command of "sip -I ..\sip\PyQt4\ -t Qt_4_5_3 -t WS_WIN > myqtlibtest.sip > " > > the error is "sip:myqtlibtest.sip :23:Class variables must be in the > public section." but I still need the private variable "Test > *testpointer" > > what can I do?
If you need the variable in your C++ code then just omit it from the .sip file. If you need it from you Python code then you can't and need to change the C++ to make it public. Phil _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
