diff --git a/README b/README index 1460a82..9aeab3e 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ PythonQt -------- -PythonQt is a dynamic Python (http://www.python.org) binding for Qt (http://www.trolltech.com). +PythonQt is a dynamic Python (http://www.python.org) binding for Qt (http://qt.nokia.com). It offers an easy way to embed the Python scripting language into your Qt applications. It makes heavy use of the QMetaObject system and thus requires Qt4.x. @@ -11,8 +11,7 @@ PythonQt is distributed under the LGPL 2.1 license. Licensing of Generator ---------------------- -The build system of PythonQt makes use of a patched version of the LGPL'ed QtScript generator, -located in the "generator" directory. +The build system of PythonQt makes use of a patched version of the LGPL'ed QtScript generator, located in the "generator" directory. See the LICENSE.LGPL file in the generator subdirectory for details. Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) @@ -20,9 +19,8 @@ Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) See http://qt.gitorious.org/qt-labs/qtscriptgenerator for the original project. The PythonQt wrappers generated by the generator are distributed under the LGPL as well. - -The generated wrappers are pre-generated and checked-in for Qt 4.4.3, so you only need to build and run the -generator when you want to build additional wrappers or you want to upgrade/downgrade to an newer Qt version. +The generated wrappers are pre-generated and checked-in for Qt 4.6.1, so you only need to build and run the +generator when you want to build additional wrappers or you want to upgrade/downgrade to another Qt version, but this requires updating the typesystems as well. Documentation ------------- diff --git a/src/PythonQtDoc.h b/src/PythonQtDoc.h index 6b4b748..bdddcce 100644 --- a/src/PythonQtDoc.h +++ b/src/PythonQtDoc.h @@ -51,13 +51,13 @@ \section Introduction - \b PythonQt is a dynamic Python (http://www.python.org) binding for Qt (http://www.qtsoftware.com). + \b PythonQt is a dynamic Python (http://www.python.org) binding for the Qt framework (http://qt.nokia.com). It offers an easy way to embed the Python scripting language into - your Qt applications. It makes heavy use of the QMetaObject system and thus requires Qt4.x. + your C++ Qt applications. It makes heavy use of the QMetaObject system and thus requires Qt4.x. The focus of PythonQt is on embedding Python into an existing C++ application, not on writing the whole application completely in Python. If you want to write your whole application in Python, - you should use PyQt instead. + you should use PyQt or PySide instead. If you are looking for a simple way to embed Python objects into your C++/Qt Application and to script parts of your application via Python, PythonQt is the way to go! @@ -85,12 +85,12 @@ Thanks a lot to the QtJambi guys and the QtScript Generator project for the C++ parser and Qt typesystem files! - The PythonQt wrappers generated by the generator located in the "generated_cpp" directory are distributed under the LGPL as well. + The PythonQt wrappers generated by the generator located in the "generated_cpp" directory are free to be used without any licensing restrictions. - The generated wrappers are pre-generated and checked-in for Qt 4.4.3, so you only need to build and run the - generator when you want to build additional wrappers or you want to upgrade/downgrade to an newer Qt version. - You may use the generator to generate C++ bindings for your own C++ classes (e.g. to make them deriveable in Python), - , but this is currently not documented and involves creating your own typesystem files. + The generated wrappers are pre-generated and checked-in for Qt 4.6.1, so you only need to build and run the + generator when you want to build additional wrappers or you want to upgrade/downgrade to another Qt version. + You may use the generator to generate C++ bindings for your own C++ classes (e.g., to make them inheritable in Python), + , but this is currently not documented and involves creating your own typesystem files (although the Qt Jambi examples might help you). \section Features @@ -120,7 +120,7 @@ This offers the following features: - Complete Qt API wrapped and accessible - - The following modules are available as submodule of the PythonQt module: + - The following modules are available as submodules of the PythonQt module: - QtCore - QtGui - QtNetwork @@ -135,20 +135,19 @@ - For convenience, all classes are also available in the PythonQt.Qt module, for people who do not care in which module a class is located - Any Qt class that has virtual methods can be easily derived from Python and the virtual methods can be reimplemented in Python - Polymorphic downcasting on QEvent, QGraphicsItem, QStyleOption, ... - - Multiple inheritance support (e.g. QGraphicsTextItem is a QObject AND a QGraphicsItem, PythonQt will handle this well) + - Multiple inheritance support (e.g., QGraphicsTextItem is a QObject AND a QGraphicsItem, PythonQt will handle this well) + + \section Comparision Comparision with PyQt/PySide - \section Comparision Comparision with PyQt - - - PythonQt is not as Pythonic as PyQt in many details (e.g. operator mapping, pickling, translation support, ...) and it is mainly thought for embedding and intercommunication between Qt/Cpp and Python - - PythonQt allows to communicate in both directions, e.g. calling a Python object from C++ AND calling a C++ method from Python, while PyQt only handles the Python->C++ direction + - PythonQt is not as Pythonic as PyQt in many details (e.g. buffer protocol, pickling, translation support, ...) and it is mainly thought for embedding and intercommunication between Qt/Cpp and Python + - PythonQt allows to communicate in both directions, e.g., calling a Python object from C++ AND calling a C++ method from Python, while PyQt only handles the Python->C++ direction - PythonQt offers properties as Python attributes, while PyQt offers them as setter/getter methods (e.g. QWidget.width is a property in PythonQt and a method in PyQt) - PythonQt does not support instanceof checks for Qt classes, except for the exact match and derived Python classes - QObject.emit to emit Qt signals from Python is not yet implemented but PythonQt allows to just emit a signal by calling it - - PythonQt does not offer to add new signals to Python/C++ objects - - Ownership of objects is a bit different in PythonQt, currently Python classes derived from a C++ class need to be manually references in PythonQt to not get deleted too early (this will be fixed) + - PythonQt does not (yet) offer to add new signals to Python/C++ objects + - Ownership of objects is a bit different in PythonQt, currently Python classes derived from a C++ class need to be manually referenced in Python to not get deleted too early (this will be fixed) - Probably there are lots of details that differ, I do not know PyQt that well to list them all. - \section Interface The main interface to PythonQt is the PythonQt singleton. @@ -390,7 +389,7 @@ yourCpp = None \section Building - PythonQt requires at least Qt 4.2.2 (or higher) and Python 2.3, 2.4, 2.5 or 2.6 on Windows, Linux and MacOS X. It has not yet been tested with Python 3.x, but it should only require minor changes. + PythonQt requires Qt 4.6.1 (or higher) and Python 2.5 or 2.6 on Windows, Linux and MacOS X. It has not yet been tested with Python 3.x, but it should only require minor changes. To compile PythonQt, you will need a python developer installation which includes Python's header files and the python2x.[lib | dll | so | dynlib]. The build scripts a currently set to use Python 2.5.