SIP4 python bindings for TQt
Michele Calgaro ae59056eb2
Removed obsolete CHECK_PTR and replaced CHECK_PTR/Q_CHECK_PTR with TQ_CHECK_PTR.
3 weeks ago
doc Removed obsolete Qt2's TQList/TQListIterator classes and replaced with TQt3's TQPtrList/TQPtrListIterator ones. 1 month ago
examples2 Removed obsolete CHECK_PTR and replaced CHECK_PTR/Q_CHECK_PTR with TQ_CHECK_PTR. 3 weeks ago
examples3 QT_NO_* -> TQT_NO_* renaming. 1 month ago
pylupdate3 qt -> tqt conversion: QTDIR -> TQTDIR QTDOC -> TQTDOC INCDIR_QT -> INCDIR_TQT LIBDIR_QT -> LIBDIR_TQT QT_INC -> TQT_INC QT_LIB -> TQT_LIB 1 month ago
pyuic2 qt -> tqt conversion: QTDIR -> TQTDIR QTDOC -> TQTDOC INCDIR_QT -> INCDIR_TQT LIBDIR_QT -> LIBDIR_TQT QT_INC -> TQT_INC QT_LIB -> TQT_LIB 1 month ago
pyuic3 QT_NO_* -> TQT_NO_* renaming. 1 month ago
sip Removed obsolete Qt2's TQList/TQListIterator classes and replaced with TQt3's TQPtrList/TQPtrListIterator ones. 1 month ago
ChangeLog Removed obsolete Qt2's TQList/TQListIterator classes and replaced with TQt3's TQPtrList/TQPtrListIterator ones. 1 month ago
LICENSE Fix inadvertent "TQ" changes. 6 years ago
NEWS Removed obsolete Qt2's TQList/TQListIterator classes and replaced with TQt3's TQPtrList/TQPtrListIterator ones. 1 month ago
README Fix retquire 7 years ago
README.AIX Initial TQt conversion 7 years ago
README.SunOS Initial TQt conversion 7 years ago
THANKS Initial TQt conversion 7 years ago
build.py QT_NO_* -> TQT_NO_* renaming. 1 month ago
configure.py QT_NO_* -> TQT_NO_* renaming. 1 month ago
module-init.py Improve python_tqt module initialization 2 years ago
pyqtconfig.py.in Fix detection of sip4-tqt module 4 years ago

README.SunOS


o Compiler Error: CC -DHAVE_CONFIG_H -I. -I. -I..
-I/users/toollib/include/python2.0 -I/users/pyqt/install/sip-3.2.1/include
-I/users/pyqt/install/qt-x11-commercial-3.0.4/include -I/usr/openwin/include
-c qtcmodule.cpp -KPIC -DPIC -o qtcmodule.o
"sipqtProxyqt.h", line 113: Error: Multiple declaration for
sipProxyqt::proxySlot(int).
"qtcmodule.cpp", line 5393: Error: sipProxyqt::proxySlot(int) already had a
body defined.

This occurs because the Sun Workshop C++ 4.2 compiler (and the Sun Forte
C++ 6.x compiler with -compat) can not distinguish between 'bool' and 'int'
types in overloaded method signatures and issues a compiler error.
In this case bool is declared in qt/include/qglobal.h as
'typedef int bool;'. To workaround this '#if 0' out the the declaration
and body of 'proxySlot(bool)' in PyTQt/qt/sipqtProxyqt.h and
PyTQt/qt/qtcmodule.cpp. This resolves the compiler error but breaks
any 'sig(bool)' type signals. To workaround this, save the
PyTQt/qt/sipqtProxyqt.moc generated after fixing the compiler error and
add the following bits of code:

...
static const TQUParameter param_slot_42[] = {
{ 0, &static_QUType_bool, 0, TQUParameter::In }
};
static const TQUMethod slot_42 = {"proxySlot", 1, param_slot_42 };
static const TQMetaData slot_tbl[] = {
...
{ "proxySlot(bool)", &slot_42, TQMetaData::Public }
};
metaObj = TQMetaObject::new_metaobject(
"sipProxyqt", parentObject,
slot_tbl, 43,
...
case 42: proxySlot(static_QUType_bool.get(_o+1)); break;

You will need to comment out the line in PyTQt/qt/Makefile that re-generates
PyTQt/qt/sipqtProxyqt.moc with moc to avoid the above changes from being
overwritten.

In order to test that everything has been done correctly, create a
toggle button and connect it's 'toggled(bool)' signal to a python slot,
if it works, your done!