diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/PyQt.html | 12845 | ||||
-rw-r--r-- | doc/PyQt.sgml | 5807 | ||||
-rw-r--r-- | doc/qtdocs.sip | 1920 |
3 files changed, 20572 insertions, 0 deletions
diff --git a/doc/PyQt.html b/doc/PyQt.html new file mode 100644 index 0000000..a7fb2ab --- /dev/null +++ b/doc/PyQt.html @@ -0,0 +1,12845 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Python Bindings for Qt (3.18.1)</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD +><BODY +CLASS="ARTICLE" +><DIV +CLASS="ARTICLE" +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +><A +NAME="AEN2" +>Python Bindings for Qt (3.18.1)</A +></H1 +><H3 +CLASS="AUTHOR" +><A +NAME="AEN4" +>Phil Thompson</A +></H3 +><DIV +><DIV +CLASS="ABSTRACT" +><P +></P +><A +NAME="AEN7" +></A +><P +> This document describes a set of Python bindings for the Qt widget set. + Contact the author at <CODE +CLASS="EMAIL" +><<A +HREF="mailto:phil@riverbankcomputing.co.uk" +>phil@riverbankcomputing.co.uk</A +>></CODE +>. + </P +><P +></P +></DIV +></DIV +><HR></DIV +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN10" +>Introduction</A +></H2 +><P +>PyQt is a set of Python bindings for the Qt toolkit and available for all +platforms supported by Qt, including Windows, Linux, UNIX, MacOS/X and embedded +systems such as the Sharp Zaurus and the Compaq iPAQ. They have been tested +against Qt versions 1.43 to 3.3.7, Qt Non-commercial, Qtopia 1.5.0, and Python +versions 1.5 to 2.5. Qt/Embedded v3 is not supported. Qt v4 is supported +by PyQt v4.</P +><P +>PyQt is available under the GPL license for use with the GPL version of Qt, a +a commercial license for use with the commercial version of Qt, a +non-commercial license for use with the non-commercial version of Qt v2, and an +educational license for use with the educational version of Qt.</P +><P +>PyQt is built using SIP (a tool for generating Python extension modules for +C++ class libraries). SIP v4.6 or later must be installed in order to build +and run this version of PyQt.</P +><P +>PyQt for MacOS/X requires Qt v3.1.0 or later and Python v2.3 or later.</P +><P +>The bindings are implemented as a number of Python modules</P +><P +></P +><UL +><LI +><P +><TT +CLASS="LITERAL" +>qt</TT +> is the main module and contains the core classes and most +user interface widgets.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtaxcontainer</TT +> contains a sub-set of the classes implemented +in Qt's QAxContainer module, part of Qt's ActiveQt framework.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtcanvas</TT +> contains the classes implemented in Qt's Canvas +module.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtgl</TT +> contains the classes implemented in Qt's OpenGL module.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtnetwork</TT +> contains the classes implemented in Qt's Network +module.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtpe</TT +> contains the classes implemented in Qtopia (originally +called the Qt Palmtop Environment). It is only supported with Qt/Embedded.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtsql</TT +> contains the classes implemented in Qt's SQL module.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qttable</TT +> contains the classes implemented in Qt's Table +module.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtui</TT +> contains the classes implemented in Qt's qui library. +These allow GUIs to be created directly from Qt Designer's +<TT +CLASS="LITERAL" +>.ui</TT +> files.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtxml</TT +> contains the classes implemented in Qt's XML module.</P +></LI +><LI +><P +><TT +CLASS="LITERAL" +>qtext</TT +> contains useful third-party classes that are not part +of Qt. At the moment it contains bindings for QScintilla, the port to Qt of +the Scintilla programmer's editor class.</P +></LI +></UL +><P +>PyQt also includes the <TT +CLASS="LITERAL" +>pyuic</TT +> and +<TT +CLASS="LITERAL" +>pylupdate</TT +> utilities which correspond to the Qt +<TT +CLASS="LITERAL" +>uic</TT +> and <TT +CLASS="LITERAL" +>lupdate</TT +> utilities. +<TT +CLASS="LITERAL" +>pyuic</TT +> converts the GUI designs created with Qt Designer to +executable Python code. <TT +CLASS="LITERAL" +>pylupdate</TT +> scans Python code, +extracts all strings that are candidates for internationalisation, and creates +an XML file for use by Qt Linguist.</P +> +</DIV> +<DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN95" +>Other PyQt Goodies</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN97" +>Using Qt Designer</A +></H3 +><P +>Qt Designer is a GPL'ed GUI design editor provided by Trolltech as part of Qt. +It generates an XML description of a GUI design. Qt includes +<TT +CLASS="LITERAL" +>uic</TT +> which generates C++ code from that XML.</P +><P +>PyQt includes <TT +CLASS="LITERAL" +>pyuic</TT +> which generates Python code from the +same XML. The Python code is self contained and can be executed immediately.</P +><P +>It is sometimes useful to be able to include some specific Python code in the +output generated by <TT +CLASS="LITERAL" +>pyuic</TT +>. For example, if you are using +custom widgets, <TT +CLASS="LITERAL" +>pyuic</TT +> has no way of knowing the name of the +Python module containing the widget and so cannot generate the required +<TT +CLASS="LITERAL" +>import</TT +> statement. To help get around this, +<TT +CLASS="LITERAL" +>pyuic</TT +> will extract any lines entered in the +<TT +CLASS="LITERAL" +>Comment</TT +> field of Qt Designer's +<TT +CLASS="LITERAL" +>Form Settings</TT +> dialog that begin with +<TT +CLASS="LITERAL" +>Python:</TT +> and copies them to the generated output.</P +><P +>Here's a simple example showing the contents of the <TT +CLASS="LITERAL" +>Comment</TT +> +field.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>This comment will be ignored by pyuic. +Python: +Python:# Import our custom widget. +Python:from foo import bar</PRE +></TD +></TR +></TABLE +><P +>Here's the corresponding output from <TT +CLASS="LITERAL" +>pyuic</TT +>.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>from qt import * + +# Import our custom widget. +from foo import bar</PRE +></TD +></TR +></TABLE +><P +>Thanks to Christian Bird, <TT +CLASS="LITERAL" +>pyuic</TT +> will extract Python code +entered using Qt Designer to implement slots. In Qt Designer, when you need to +edit a slot and the source editor appears, enter Python code between the curly +braces. Don't worry about the correct starting indent level, each line is +prepended with a correct indentation.</P +><P +>Make sure that the <TT +CLASS="LITERAL" +>ui.h</TT +> file is in the same directory as the +<TT +CLASS="LITERAL" +>.ui</TT +> file when using <TT +CLASS="LITERAL" +>pyuic</TT +>. The +<TT +CLASS="LITERAL" +>.ui</TT +> file implies the name of the <TT +CLASS="LITERAL" +>.ui.h</TT +> +file so there is no need to specify it on the command line.</P +><P +>Here's an example of a simple slot. </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>void DebMainWindowFrm::browsePushButtonClicked() +{ +if self.debugging: + QMessageBox.critical(self, "Event", "browse pushbutton was clicked!") +}</PRE +></TD +></TR +></TABLE +><P +>Here is the resulting code when <TT +CLASS="LITERAL" +>pyuic</TT +> is run.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>class DebMainWindowFrm(QMainWindow): + ...stuff... + def browsePushButtonClicked(self): + if self.debugging: + QMessageBox.critical(self, "Event", "browse pushbutton was clicked!")</PRE +></TD +></TR +></TABLE +><P +>Note that indenting is as normal and that <TT +CLASS="LITERAL" +>self</TT +> and all other +parameters passed to the slot are available.</P +><P +>If you use this, you will need to turn off all of the fancy options for the C++ +editor in Designer as it tries to force C++ syntax and that's naturally +annoying when trying to code in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN133" +>Using Qt Linguist</A +></H3 +><P +>Qt includes the <TT +CLASS="LITERAL" +>lupdate</TT +> program which parses C++ source +files converting calls to the <TT +CLASS="LITERAL" +>QT_TR_NOOP()</TT +> and +<TT +CLASS="LITERAL" +>QT_TRANSLATE_NOOP()</TT +> macros to <TT +CLASS="LITERAL" +>.ts</TT +> +language source files. The <TT +CLASS="LITERAL" +>lrelease</TT +> program is then used to +generate <TT +CLASS="LITERAL" +>.qm</TT +> binary language files that are distributed with +your application.</P +><P +>Thanks to Detlev Offenbach, PyQt includes the <TT +CLASS="LITERAL" +>pylupdate</TT +> +program. This generates the same <TT +CLASS="LITERAL" +>.ts</TT +> language source files +from your PyQt source files.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN145" +>Deploying Commercial PyQt Applications</A +></H2 +><P +>When deploying commercial PyQt applications it is necessary to discourage users +from accessing the underlying PyQt modules for themselves. A user that used +the modules shipped with your application to develop new applications would +themselves be considered a developer and would need their own commercial Qt and +PyQt licenses.</P +><P +>One solution to this problem is the +<A +HREF="http://www.riverbankcomputing.co.uk/vendorid/" +TARGET="_top" +>VendorID</A +> +package. This allows you to build Python extension modules that can only be +imported by a digitally signed custom interpreter. The package enables you to +create such an interpreter with your application embedded within it. The +result is an interpreter that can only run your application, and PyQt modules +that can only be imported by that interpreter. You can use the package to +similarly restrict access to any extension module.</P +><P +>In order to build PyQt with support for the VendorID package, pass the +<TT +CLASS="LITERAL" +>-i</TT +> command line flag to <TT +CLASS="LITERAL" +>configure.py</TT +>.</P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN153" +><TT +CLASS="LITERAL" +>pyqtconfig</TT +> and Build System Support</A +></H2 +><P +>The SIP build system (ie. the <TT +CLASS="LITERAL" +>sipconfig</TT +> module) is described +in the SIP documentation. PyQt includes the <TT +CLASS="LITERAL" +>pyqtconfig</TT +> +module that can be used by configuration scripts of other bindings that are +built on top of PyQt.</P +><P +>The <TT +CLASS="LITERAL" +>pyqtconfig</TT +> module contains the following classes:</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>Configuration(sipconfig.Configuration)</TT +></DT +><DD +><P +>This class encapsulates additional configuration values, specific to PyQt, that +can be accessed as instance variables.</P +><P +>The following configuration values are provided (in addition to those provided +by the <TT +CLASS="LITERAL" +>sipconfig.Configuration</TT +> class):</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>pyqt_bin_dir</TT +></DT +><DD +><P +>The name of the directory containing the <TT +CLASS="LITERAL" +>pyuic</TT +> and +<TT +CLASS="LITERAL" +>pylupdate</TT +> executables.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_mod_dir</TT +></DT +><DD +><P +>The name of the directory containing the PyQt modules.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_modules</TT +></DT +><DD +><P +>A string containing the names of the PyQt modules that were installed.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qt_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qt</TT +> module and which should be added to those needed by any +module that imports the <TT +CLASS="LITERAL" +>qt</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtaxcontainer_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtaxcontainer</TT +> module and which should be added to those +needed by any module that imports the <TT +CLASS="LITERAL" +>qtaxcontainer</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtcanvas_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtcanvas</TT +> module and which should be added to those needed by +any module that imports the <TT +CLASS="LITERAL" +>qtcanvas</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtext_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtext</TT +> module and which should be added to those needed by +any module that imports the <TT +CLASS="LITERAL" +>qtext</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtgl_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtgl</TT +> module and which should be added to those needed by any +module that imports the <TT +CLASS="LITERAL" +>qtgl</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtnetwork_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtnetwork</TT +> module and which should be added to those needed +by any module that imports the <TT +CLASS="LITERAL" +>qtnetwork</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtsql_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtsql</TT +> module and which should be added to those needed by +any module that imports the <TT +CLASS="LITERAL" +>qtsql</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qttable_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qttable</TT +> module and which should be added to those needed by +any module that imports the <TT +CLASS="LITERAL" +>qttable</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtui_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtui</TT +> module and which should be added to those needed by any +module that imports the <TT +CLASS="LITERAL" +>qtui</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_qtxml_sip_flags</TT +></DT +><DD +><P +>A string of the SIP flags used to generate the code for the +<TT +CLASS="LITERAL" +>qtxml</TT +> module and which should be added to those needed by +any module that imports the <TT +CLASS="LITERAL" +>qtxml</TT +> module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_sip_dir</TT +></DT +><DD +><P +>The name of the base directory where the <TT +CLASS="LITERAL" +>.sip</TT +> files for each +of the PyQt modules is installed. A sub-directory exists with the same name as +the module.</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_version</TT +></DT +><DD +><P +>The PyQt version as a 3 part hexadecimal number (eg. v3.10 is represented as +<TT +CLASS="LITERAL" +>0x030a00</TT +>).</P +><P +></P +><P +></P +></DD +><DT +><TT +CLASS="LITERAL" +>pyqt_version_str</TT +></DT +><DD +><P +>The PyQt version as a string. For development snapshots it will start with +<TT +CLASS="LITERAL" +>snapshot-</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtModuleMakefile(sipconfig.SIPModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qt</TT +> module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtAxContainerModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtaxcontainer</TT +> +module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtCanvasModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtcanvas</TT +> +module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtExtModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtext</TT +> module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtGLModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtgl</TT +> module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtNetworkModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtnetwork</TT +> +module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtTableModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qttable</TT +> +module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtSQLModuleMakefile(QtTableModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtsql</TT +> module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtUIModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtui</TT +> module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>QtXMLModuleMakefile(QtModuleMakefile)</TT +></DT +><DD +><P +>The Makefile class for modules that import the <TT +CLASS="LITERAL" +>qtxml</TT +> module.</P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>finalise(self)</TT +></DT +><DD +><P +>This is a reimplementation of <TT +CLASS="LITERAL" +>sipconfig.Makefile.finalise()</TT +>.</P +><P +></P +><P +></P +></DD +></DL +></DIV +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN457" +>Things to be Aware Of</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN459" +>super and Wrapped Classes</A +></H3 +><P +>Internally PyQt implements a lazy technique for attribute lookup where +attributes are only placed in type and instance dictionaries when they are +first referenced. This technique is needed to reduce the time taken to import +large modules such as PyQt.</P +><P +>In most circumstances this technique is transparent to an application. The +exception is when <TT +CLASS="LITERAL" +>super</TT +> is used with a PyQt class. The way +that <TT +CLASS="LITERAL" +>super</TT +> is currently implemented means that the lazy +lookup is bypassed resulting in <TT +CLASS="LITERAL" +>AttributeError</TT +> exceptions +unless the attribute has been previously referenced.</P +><P +>Note that this restriction applies to any class wrapped by SIP and not just +PyQt.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN467" +>Python Strings, Qt Strings and Unicode</A +></H3 +><P +>Unicode support was added to Qt in v2.0 and to Python in v1.6. In Qt, Unicode +support is implemented using the <TT +CLASS="LITERAL" +>QString</TT +> class. It is +important to understand that <TT +CLASS="LITERAL" +>QString</TT +>s, Python string objects +and Python Unicode objects are all different but conversions between them are +automatic in many cases and easy to achieve manually when needed.</P +><P +>Whenever PyQt expects a <TT +CLASS="LITERAL" +>QString</TT +> as a function argument, a +Python string object or a Python Unicode object can be provided instead, and +PyQt will do the necessary conversion automatically.</P +><P +>You may also manually convert Python string and Unicode objects to +<TT +CLASS="LITERAL" +>QString</TT +>s by using the <TT +CLASS="LITERAL" +>QString</TT +> constructor +as demonstrated in the following code fragment.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>qs1 = QString('Converted Python string object') +qs2 = QString(u'Converted Python Unicode object')</PRE +></TD +></TR +></TABLE +><P +>In order to convert a <TT +CLASS="LITERAL" +>QString</TT +> to a Python string object use +the Python <TT +CLASS="LITERAL" +>str()</TT +> function. Applying +<TT +CLASS="LITERAL" +>str()</TT +> to a null <TT +CLASS="LITERAL" +>QString</TT +> and an empty +<TT +CLASS="LITERAL" +>QString</TT +> both result in an empty Python string object.</P +><P +>In order to convert a <TT +CLASS="LITERAL" +>QString</TT +> to a Python Unicode object use +the Python <TT +CLASS="LITERAL" +>unicode()</TT +> function. Applying +<TT +CLASS="LITERAL" +>unicode()</TT +> to a null <TT +CLASS="LITERAL" +>QString</TT +> and an empty +<TT +CLASS="LITERAL" +>QString</TT +> both result in an empty Python Unicode object.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN490" +>Access to Protected Member Functions</A +></H3 +><P +>When an instance of a C++ class is not created from Python it is not possible +to access the protected member functions, or emit the signals, of that +instance. Attempts to do so will raise a Python exception. Also, any Python +methods corresponding to the instance's virtual member functions will never be +called.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN493" +><TT +CLASS="LITERAL" +>None</TT +> and <TT +CLASS="LITERAL" +>NULL</TT +></A +></H3 +><P +>Throughout the bindings, the <TT +CLASS="LITERAL" +>None</TT +> value can be specified +wherever <TT +CLASS="LITERAL" +>NULL</TT +> is acceptable to the underlying C++ code.</P +><P +>Equally, <TT +CLASS="LITERAL" +>NULL</TT +> is converted to <TT +CLASS="LITERAL" +>None</TT +> +whenever it is returned by the underlying C++ code.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN503" +>Support for C++ <TT +CLASS="LITERAL" +>void *</TT +> Data Types</A +></H3 +><P +>PyQt represents <TT +CLASS="LITERAL" +>void *</TT +> values as objects of type +<TT +CLASS="LITERAL" +>sip.voidptr</TT +>. Such values are often used to pass the +addresses of external objects between different Python modules. To make this +easier, a Python integer (or anything that Python can convert to an integer) +can be used whenever a <TT +CLASS="LITERAL" +>sip.voidptr</TT +> is expected.</P +><P +>A <TT +CLASS="LITERAL" +>sip.voidptr</TT +> may be converted to a Python integer by using +the <TT +CLASS="LITERAL" +>int()</TT +> builtin function.</P +><P +>A <TT +CLASS="LITERAL" +>sip.voidptr</TT +> may be converted to a Python string by using +its <TT +CLASS="LITERAL" +>asstring()</TT +> method. The <TT +CLASS="LITERAL" +>asstring()</TT +> +method takes an integer argument which is the length of the data in bytes.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN517" +>Support for Threads</A +></H3 +><P +>PyQt implements the full set of Qt's thread classes. Python, of course, also +has its own thread extension modules. If you are using SIP v4 (or later) and +Python v2.3.5 (or later) then PyQt does not impose any additional restrictions. +(Read the relevant part of the Qt documentation to understand the restrictions +imposed by the Qt API.)</P +><P +>If you are using earlier versions of either SIP or Python then it is possible +to use either of the APIs so long as you follow some simple rules.</P +><P +></P +><UL +><LI +><P +>If you use the Qt API then the very first <TT +CLASS="LITERAL" +>import</TT +> of one of +the PyQt modules must be done from the main thread.</P +></LI +><LI +><P +>If you use the Python API then all calls to PyQt (including any +<TT +CLASS="LITERAL" +>import</TT +>s) must be done from one thread only. Therefore, if +you want to make calls to PyQt from several threads then you must use the Qt +API.</P +></LI +><LI +><P +>If you want to use both APIs in the same application then all calls to PyQt +must be done from threads created using the Qt API.</P +></LI +></UL +><P +>The above comments actually apply to any SIP generated module, not just PyQt.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN531" +>Garbage Collection</A +></H3 +><P +>C++ does not garbage collect unreferenced class instances, whereas Python does. +In the following C++ fragment both colours exist even though the first can no +longer be referenced from within the program:</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>c = new QColor(); +c = new QColor();</PRE +></TD +></TR +></TABLE +><P +>In the corresponding Python fragment, the first colour is destroyed when +the second is assigned to <TT +CLASS="LITERAL" +>c</TT +>:</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>c = QColor() +c = QColor()</PRE +></TD +></TR +></TABLE +><P +>In Python, each colour must be assigned to different names. Typically this +is done within class definitions, so the code fragment would be something like:</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>self.c1 = QColor() +self.c2 = QColor()</PRE +></TD +></TR +></TABLE +><P +>Sometimes a Qt class instance will maintain a pointer to another instance and +will eventually call the destructor of that second instance. The most common +example is that a <TT +CLASS="LITERAL" +>QObject</TT +> (and any of its sub-classes) keeps +pointers to its children and will automatically call their destructors. In +these cases, the corresponding Python object will also keep a reference to the +corresponding child objects.</P +><P +>So, in the following Python fragment, the first <TT +CLASS="LITERAL" +>QLabel</TT +> is +not destroyed when the second is assigned to <TT +CLASS="LITERAL" +>l</TT +> because the +parent <TT +CLASS="LITERAL" +>QWidget</TT +> still has a reference to it.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>p = QWidget() +l = QLabel('First label',p) +l = QLabel('Second label',p)</PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN547" +>C++ Variables</A +></H3 +><P +>Access to C++ variables is supported. They are accessed as Python instance +variables. For example:</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>tab = QTab() +tab.label = "First Tab" +tab.r = QRect(10,10,75,30)</PRE +></TD +></TR +></TABLE +><P +>Global variables and static class variables are effectively read-only. They +can be assigned to, but the underlying C++ variable will not be changed. This +may change in the future.</P +><P +>Access to protected C++ class variables is not supported. This may change in +the future.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN553" +>Multiple Inheritance</A +></H3 +><P +>It is not possible to define a new Python class that sub-classes from more than +one Qt class.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN556" +>i18n Support</A +></H3 +><P +>Qt implements i18n support through the Qt Linguist application, the +<TT +CLASS="LITERAL" +>QTranslator</TT +> class, and the +<TT +CLASS="LITERAL" +>QApplication::translate()</TT +>, <TT +CLASS="LITERAL" +>QObject::tr()</TT +> +and <TT +CLASS="LITERAL" +>QObject::trUtf8()</TT +> methods. Usually the +<TT +CLASS="LITERAL" +>tr()</TT +> method is used to obtain the correct translation of a +message. The translation process uses a message context to allow the same +message to be translated differently. <TT +CLASS="LITERAL" +>tr()</TT +> is actually +generated by <TT +CLASS="LITERAL" +>moc</TT +> and uses the hardcoded class name as the +context. On the other hand, <TT +CLASS="LITERAL" +>QApplication::translate()</TT +> +allows to context to be explicitly stated.</P +><P +>Unfortunately, because of the way Qt implents <TT +CLASS="LITERAL" +>tr()</TT +> (and +<TT +CLASS="LITERAL" +>trUtf8()</TT +>) it is not possible for PyQt to exactly reproduce +its behavour. The PyQt implementation of <TT +CLASS="LITERAL" +>tr()</TT +> (and +<TT +CLASS="LITERAL" +>trUtf8()</TT +>) uses the class name of the instance as the +context. The key difference, and the source of potential problems, is that the +context is determined dynamically in PyQt, but is hardcoded in Qt. In other +words, the context of a translation may change depending on an instance's class +hierarchy.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>class A(QObject): + def __init__(self): + QObject.__init__(self) + + def hello(self): + return self.tr("Hello") + +class B(A): + def __init__(self): + A.__init__(self) + +a = A() +a.hello() + +b = B() +b.hello()</PRE +></TD +></TR +></TABLE +><P +>In the above the message is translated by <TT +CLASS="LITERAL" +>a.hello()</TT +> using a +context of <TT +CLASS="LITERAL" +>A</TT +>, and by <TT +CLASS="LITERAL" +>b.hello()</TT +> using a +context of <TT +CLASS="LITERAL" +>B</TT +>. In the equivalent C++ version the context +would be <TT +CLASS="LITERAL" +>A</TT +> in both cases.</P +><P +>The PyQt behaviour is unsatisfactory and may be changed in the future. It is +recommended that <TT +CLASS="LITERAL" +>QApplication.translate()</TT +> be used in +preference to <TT +CLASS="LITERAL" +>tr()</TT +> (and <TT +CLASS="LITERAL" +>trUtf8()</TT +>). This +is guaranteed to work with current and future versions of PyQt and makes it +much easier to share message files between Python and C++ code. Below is the +alternative implementation of <TT +CLASS="LITERAL" +>A</TT +> that uses +<TT +CLASS="LITERAL" +>QApplication.translate()</TT +>.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>class A(QObject): + def __init__(self): + QObject.__init__(self) + + def hello(self): + return qApp.translate("A","Hello")</PRE +></TD +></TR +></TABLE +><P +>Note that the code generated by <TT +CLASS="LITERAL" +>pyuic</TT +> uses +<TT +CLASS="LITERAL" +>QApplication.translate()</TT +>.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN589" +>Signal and Slot Support</A +></H2 +><P +>A signal may be either a Qt signal (specified using +<TT +CLASS="LITERAL" +>SIGNAL()</TT +>) or a Python signal (specified using +<TT +CLASS="LITERAL" +>PYSIGNAL()</TT +>).</P +><P +>A slot can be either a Python callable object, a Qt signal (specified using +<TT +CLASS="LITERAL" +>SIGNAL()</TT +>), a Python signal (specified using +<TT +CLASS="LITERAL" +>PYSIGNAL()</TT +>), or a Qt slot (specified using +<TT +CLASS="LITERAL" +>SLOT()</TT +>).</P +><P +>You connect signals to slots (and other signals) as you would from C++. For +example:</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>QObject.connect(a,SIGNAL("QtSig()"),pyFunction) +QObject.connect(a,SIGNAL("QtSig()"),pyClass.pyMethod) +QObject.connect(a,SIGNAL("QtSig()"),PYSIGNAL("PySig")) +QObject.connect(a,SIGNAL("QtSig()"),SLOT("QtSlot()")) +QObject.connect(a,PYSIGNAL("PySig"),pyFunction) +QObject.connect(a,PYSIGNAL("PySig"),pyClass.pyMethod) +QObject.connect(a,PYSIGNAL("PySig"),SIGNAL("QtSig()")) +QObject.connect(a,PYSIGNAL("PySig"),SLOT("QtSlot()"))</PRE +></TD +></TR +></TABLE +><P +>When a slot is a Python method that corresponds to a Qt slot then a signal can +be connected to either the Python method or the Qt slot. The following +connections achieve the same effect.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>sbar = QScrollBar() +lcd = QLCDNumber() + +QObject.connect(sbar,SIGNAL("valueChanged(int)"),lcd.display) +QObject.connect(sbar,SIGNAL("valueChanged(int)"),lcd,SLOT("display(int)"))</PRE +></TD +></TR +></TABLE +><P +>The difference is that the second connection is made at the C++ level and is +more efficient.</P +><P +>Disconnecting signals works in exactly the same way.</P +><P +>Any instance of a class that is derived from the <TT +CLASS="LITERAL" +>QObject</TT +> +class can emit a signal using the <TT +CLASS="LITERAL" +>emit</TT +> method. This takes +two arguments. The first is the Python or Qt signal, the second is a Python +tuple which are the arguments to the signal. For example:</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>a.emit(SIGNAL("clicked()"),()) +a.emit(PYSIGNAL("pySig"),("Hello","World"))</PRE +></TD +></TR +></TABLE +><P +>Note that when a slot is a Python callable object its reference count is not +increased. This means that a class instance can be deleted without having to +explicitly disconnect any signals connected to its methods. However, it also +means that using lambda expressions as slots will not work unless you keep a +separate reference to the expression to prevent it from being immediately +garbage collected.</P +><P +>Qt allows a signal to be connected to a slot that requires fewer arguments than +the signal passes. The extra arguments are quietly discarded. Python slots +can be used in the same way. </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN610" +>Static Member Functions</A +></H2 +><P +>Static member functions are implemented as Python class functions. +For example the C++ static member function +<TT +CLASS="LITERAL" +>QObject::connect()</TT +> is called from Python as +<TT +CLASS="LITERAL" +>QObject.connect()</TT +> or <TT +CLASS="LITERAL" +>self.connect()</TT +> if +called from a sub-class of <TT +CLASS="LITERAL" +>QObject</TT +>.</P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN617" +>Enumerated Types</A +></H2 +><P +>Enumerated types are implemented as a set of simple variables corresponding to +the separate enumerated values.</P +><P +>When using an enumerated value the name of the class (or a sub-class) in which +the enumerated type was defined in must be included. For example:</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>Qt.SolidPattern +QWidget.TabFocus +QFrame.TabFocus</PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN622" +>Module Reference Documentation</A +></H2 +><P +>The following sections should be used in conjunction with the normal class +documentation - only the differences specific to the Python bindings are +documented here.</P +><P +>In these sections, <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>Not yet implemented</I +></SPAN +> +implies that the feature can be easily implemented if needed. <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>Not +implemented</I +></SPAN +> implies that the feature will not be implemented, either +because it cannot be or because it is not appropriate.</P +><P +>If a class is described as being <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>fully implemented</I +></SPAN +> then +all non-private member functions and all public class variables have been +implemented.</P +><P +>If an operator has been implemented then it is stated explicitly.</P +><P +>Classes that are not mentioned have not yet been implemented.</P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN632" +><TT +CLASS="LITERAL" +>qt</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN635" +>Qt Constants</A +></H3 +><P +>All constant values defined by Qt have equivalent constants defined to Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN638" +>Qt (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>Qt</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN642" +>QAccel</A +></H3 +><P +><TT +CLASS="LITERAL" +>QAccel</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN646" +>QAction (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QAction</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN650" +>QActionGroup (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QActionGroup</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN654" +>QApplication</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN656" +></A +><CODE +CLASS="FUNCDEF" +>QApplication</CODE +>(int &argc, char **argv);<P +></P +></DIV +><P +>This takes one parameter which is a list of argument strings. Arguments +used by Qt are removed from the list.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN664" +></A +><CODE +CLASS="FUNCDEF" +>QApplication</CODE +>(int &argc, char **argv, bool GUIenabled);<P +></P +></DIV +><P +>This takes two parameters, the first of which is a list of argument strings. +Arguments used by Qt are removed from the list.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN674" +></A +><CODE +CLASS="FUNCDEF" +>QApplication</CODE +>(int &argc, char **argv, Type type);<P +></P +></DIV +><P +>This takes two parameters, the first of which is a list of argument strings. +Arguments used by Qt are removed from the list. (Qt v2.2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN684" +></A +><CODE +CLASS="FUNCDEF" +>int exec</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>exec_loop</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN690" +>QAssistantClient (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QAssistantClient</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN694" +>QBitmap</A +></H3 +><P +><TT +CLASS="LITERAL" +>QBitmap</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN698" +>QBrush</A +></H3 +><P +><TT +CLASS="LITERAL" +>QBrush</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN704" +>QButton</A +></H3 +><P +><TT +CLASS="LITERAL" +>QButton</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN708" +>QButtonGroup</A +></H3 +><P +><TT +CLASS="LITERAL" +>QButtonGroup</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN712" +>QByteArray</A +></H3 +><P +>A Python string can be used whenever a <TT +CLASS="LITERAL" +>QByteArray</TT +> can be +used. A <TT +CLASS="LITERAL" +>QByteArray</TT +> can be converted to a Python string +using the Python <TT +CLASS="LITERAL" +>str()</TT +> function.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN718" +></A +><CODE +CLASS="FUNCDEF" +>QByteArray &assign</CODE +>(const char *data, uint size);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN726" +></A +><CODE +CLASS="FUNCDEF" +>char &at</CODE +>(uint i);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN732" +></A +><CODE +CLASS="FUNCDEF" +>int contains</CODE +>(const char &d);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN738" +></A +><CODE +CLASS="FUNCDEF" +>bool fill</CODE +>(const char &d, int size = -1);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN746" +></A +><CODE +CLASS="FUNCDEF" +>int find</CODE +>(const char &d, uint i = 0);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN754" +></A +><CODE +CLASS="FUNCDEF" +>void resetRawData</CODE +>(const char *data, uintsize);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN762" +></A +><CODE +CLASS="FUNCDEF" +>QByteArray &setRawData</CODE +>(const char *data, uintsize);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN770" +>QCDEStyle (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCDEStyle</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN774" +>QCheckBox</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCheckBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN778" +>QClipboard</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN780" +></A +><CODE +CLASS="FUNCDEF" +>void *data const</CODE +>(const char *format);<P +></P +></DIV +><P +>Not yet implemented (Qt v1.x).</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN786" +></A +><CODE +CLASS="FUNCDEF" +>void setData</CODE +>(const char *format, void *);<P +></P +></DIV +><P +>Not yet implemented (Qt v1.x).</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN794" +>QColor</A +></H3 +><P +>The Python <TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators are +supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN799" +></A +><CODE +CLASS="FUNCDEF" +>void getHsv</CODE +>(int *h, int *s, int *v);<P +></P +></DIV +><P +>This takes no parameters and returns the <TT +CLASS="LITERAL" +>h</TT +>, +<TT +CLASS="LITERAL" +>s</TT +> and <TT +CLASS="LITERAL" +>v</TT +> values as a tuple.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN812" +></A +><CODE +CLASS="FUNCDEF" +>void getRgb</CODE +>(int *r, int *g, int *b);<P +></P +></DIV +><P +>This takes no parameters and returns the <TT +CLASS="LITERAL" +>r</TT +>, +<TT +CLASS="LITERAL" +>g</TT +> and <TT +CLASS="LITERAL" +>b</TT +> values as a tuple.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN825" +></A +><CODE +CLASS="FUNCDEF" +>void hsv</CODE +>(int *h, int *s, int *v);<P +></P +></DIV +><P +>This takes no parameters and returns the <TT +CLASS="LITERAL" +>h</TT +>, +<TT +CLASS="LITERAL" +>s</TT +> and <TT +CLASS="LITERAL" +>v</TT +> values as a tuple.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN838" +></A +><CODE +CLASS="FUNCDEF" +>void rgb</CODE +>(int *r, int *g, int *b);<P +></P +></DIV +><P +>This takes no parameters and returns the <TT +CLASS="LITERAL" +>r</TT +>, +<TT +CLASS="LITERAL" +>g</TT +> and <TT +CLASS="LITERAL" +>b</TT +> values as a tuple.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN851" +>QColorDialog (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN853" +></A +><CODE +CLASS="FUNCDEF" +>static QRgb getRgba</CODE +>(QRgb initial, bool *ok, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>initial</TT +>, <TT +CLASS="LITERAL" +>parent</TT +> and +<TT +CLASS="LITERAL" +>name</TT +> parameters and returns a tuple containing the +<TT +CLASS="LITERAL" +>QRgb</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN870" +>QColorGroup</A +></H3 +><P +><TT +CLASS="LITERAL" +>QColorGroup</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN874" +>QComboBox</A +></H3 +><P +><TT +CLASS="LITERAL" +>QComboBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN878" +>QCommonStyle (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN880" +></A +><CODE +CLASS="FUNCDEF" +>virtual void getButtonShift</CODE +>(int &x, int &y);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the <TT +CLASS="LITERAL" +>x</TT +> and +<TT +CLASS="LITERAL" +>y</TT +> values. (Qt v2)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN890" +></A +><CODE +CLASS="FUNCDEF" +>virtual void tabbarMetrics</CODE +>(const QTabBar *t, int &hframe, int &vframe, int &overlap);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>t</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>hframe</TT +>, <TT +CLASS="LITERAL" +>vframe</TT +> and +<TT +CLASS="LITERAL" +>overlap</TT +> values. (Qt v2)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN906" +>QCString (Qt v2+)</A +></H3 +><P +>A Python string can be used whenever a <TT +CLASS="LITERAL" +>QCString</TT +> can be used. +A <TT +CLASS="LITERAL" +>QCString</TT +> can be converted to a Python string using the +Python <TT +CLASS="LITERAL" +>str()</TT +> function.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN912" +></A +><CODE +CLASS="FUNCDEF" +>QCString &sprintf</CODE +>(const char *format, ...);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN919" +></A +><CODE +CLASS="FUNCDEF" +>short toShort</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>short</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN927" +></A +><CODE +CLASS="FUNCDEF" +>ushort toUShort</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>ushort</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN935" +></A +><CODE +CLASS="FUNCDEF" +>int toInt</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>int</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN943" +></A +><CODE +CLASS="FUNCDEF" +>uint toUInt</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>uint</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN951" +></A +><CODE +CLASS="FUNCDEF" +>long toLong</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>long</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN959" +></A +><CODE +CLASS="FUNCDEF" +>ulong toULong</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>ulong</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN967" +></A +><CODE +CLASS="FUNCDEF" +>float toFloat</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>float</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN975" +></A +><CODE +CLASS="FUNCDEF" +>double toDouble</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>double</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN983" +>QCursor</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCursor</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN987" +>QDataStream</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN989" +></A +><CODE +CLASS="FUNCDEF" +>QDataStream &readBytes</CODE +>(const char *&s, uint &l);<P +></P +></DIV +><P +>This takes no parameters. The <TT +CLASS="LITERAL" +>QDataStream</TT +> result and the +data read are returned as a tuple.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN998" +></A +><CODE +CLASS="FUNCDEF" +>QDataStream &readRawBytes</CODE +>(const char *s, uint l);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>l</TT +> parameter. The +<TT +CLASS="LITERAL" +>QDataStream</TT +> result and the data read are returned as a +tuple.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1008" +></A +><CODE +CLASS="FUNCDEF" +>QDataStream &writeBytes</CODE +>(const char *s, uint len);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>len</TT +> is derived from <TT +CLASS="LITERAL" +>s</TT +> and not passed as a +parameter.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1018" +></A +><CODE +CLASS="FUNCDEF" +>QDataStream &writeRawBytes</CODE +>(const char *s, uint len);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>len</TT +> is derived from <TT +CLASS="LITERAL" +>s</TT +> and not passed as a +parameter.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1028" +>QDate</A +></H3 +><P +>The Python +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +>, +<TT +CLASS="LITERAL" +><</TT +>, <TT +CLASS="LITERAL" +><=</TT +>, +<TT +CLASS="LITERAL" +>></TT +>, <TT +CLASS="LITERAL" +>>=</TT +> +and <TT +CLASS="LITERAL" +>__nonzero__</TT +> +operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1038" +></A +><CODE +CLASS="FUNCDEF" +>int weekNumber</CODE +>(int *yearNum = 0);<P +></P +></DIV +><P +>This takes no parameters and returns the week number and the year number as a +tuple. (Qt v3.1+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1044" +>QDateTime</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDateTime</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +>, +<TT +CLASS="LITERAL" +><</TT +>, <TT +CLASS="LITERAL" +><=</TT +>, +<TT +CLASS="LITERAL" +>></TT +>, <TT +CLASS="LITERAL" +>>=</TT +> +and <TT +CLASS="LITERAL" +>__nonzero__</TT +> +operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1055" +>QTime</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTime</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +>, +<TT +CLASS="LITERAL" +><</TT +>, <TT +CLASS="LITERAL" +><=</TT +>, +<TT +CLASS="LITERAL" +>></TT +>, <TT +CLASS="LITERAL" +>>=</TT +> +and <TT +CLASS="LITERAL" +>__nonzero__</TT +> +operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1066" +>QDateEdit (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDateEdit</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1070" +>QTimeEdit (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTimeEdit</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1074" +>QDateTimeEdit (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDateTimeEdit</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1078" +>QDesktopWidget (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDesktopWidget</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1082" +>QDial (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDial</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1086" +>QDialog</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1088" +></A +><CODE +CLASS="FUNCDEF" +>int exec</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>exec_loop</TT +> in Python.</P +><P +>This method also causes ownership of the underlying C++ dialog to be +transfered to Python. This means that the C++ dialog will be deleted when the +Python wrapper is garbage collected. Although this is a little inconsistent, +it ensures that the dialog is deleted without having to explicity code it +using <TT +CLASS="LITERAL" +>QObject.deleteLater()</TT +> or other techniques.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1096" +>QDir</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDir</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>len</TT +>, <TT +CLASS="LITERAL" +>[]</TT +> (for reading slices and +individual elements), <TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +> and +<TT +CLASS="LITERAL" +>in</TT +> operators</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1105" +>QFileInfoList</A +></H3 +><P +>This class isn't implemented. Whenever a <TT +CLASS="LITERAL" +>QFileInfoList</TT +> is +the return type of a function or the type of an argument, a Python list of +<TT +CLASS="LITERAL" +>QFileInfo</TT +> instances is used instead.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1110" +>QDockArea (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1112" +></A +><CODE +CLASS="FUNCDEF" +>bool hasDockWindow const</CODE +>(QDockWindow *w, int *index = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>w</TT +> parameter and returns the index of the +QDockWIndow or -1 if the QDockArea does not contain the QDockWindow.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1121" +>QDockWindow (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDockWindow</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1125" +>QColorDrag (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QColorDrag</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1129" +>QDragObject</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDragObject</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1133" +>QImageDrag</A +></H3 +><P +><TT +CLASS="LITERAL" +>QImageDrag</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1137" +>QStoredDrag</A +></H3 +><P +><TT +CLASS="LITERAL" +>QStoredDrag</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1141" +>QTextDrag</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTextDrag</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1145" +>QUriDrag (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QUriDrag</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1149" +>QUrlDrag (Qt v1.x)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QUrlDrag</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1153" +>QDropSite</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDropSite</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1157" +>QErrorMessage (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QErrorMessage</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1161" +>QEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QEvent</TT +> is fully implemented.</P +><P +>Instances of <TT +CLASS="LITERAL" +>QEvent</TT +>s are automatically converted to the +correct sub-class.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1167" +>QChildEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QChildEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1171" +>QCloseEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCloseEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1175" +>QIconDragEvent (Qt v3.3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIconDragEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1179" +>QContextMenuEvent (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QContextMenuEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1183" +>QCustomEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCustomEvent</TT +> is fully implemented. Any Python object can be +passed as the event data and its reference count is increased.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1187" +>QDragEnterEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDragEnterEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1191" +>QDragLeaveEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDragLeaveEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1195" +>QDragMoveEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDragMoveEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1199" +>QDropEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDropEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1203" +>QFocusEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFocusEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1207" +>QHideEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHideEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1211" +>QIMComposeEvent (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIMComposeEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1215" +>QIMEvent (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIMEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1219" +>QKeyEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QKeyEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1223" +>QMouseEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMouseEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1227" +>QMoveEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMoveEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1231" +>QPaintEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPaintEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1235" +>QResizeEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QResizeEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1239" +>QShowEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QShowEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1243" +>QTabletEvent (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTabletEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1247" +>QTimerEvent</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTimerEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1251" +>QWheelEvent (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWheelEvent</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1255" +>QEventLoop (Qt v3.1+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1257" +></A +><CODE +CLASS="FUNCDEF" +>virtual int exec</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>exec_loop</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1263" +>QFile</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1265" +></A +><CODE +CLASS="FUNCDEF" +>bool open</CODE +>(int m, FILE *f);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1273" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG readBlock</CODE +>(char *data, Q_ULONG len);<P +></P +></DIV +><P +>This takes a single <TT +CLASS="LITERAL" +>len</TT +> parameter. The +<TT +CLASS="LITERAL" +>data</TT +> is returned if there was no error, otherwise +<TT +CLASS="LITERAL" +>None</TT +> is returned.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1284" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG readLine</CODE +>(char *data, Q_ULONG maxlen);<P +></P +></DIV +><P +>This takes a single <TT +CLASS="LITERAL" +>maxlen</TT +> parameter. The +<TT +CLASS="LITERAL" +>data</TT +> is returned if there was no error, otherwise +<TT +CLASS="LITERAL" +>None</TT +> is returned.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1295" +></A +><CODE +CLASS="FUNCDEF" +>static void setDecodingFunction</CODE +>(EncoderFn f);<P +></P +></DIV +><P +>Not yet implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1301" +></A +><CODE +CLASS="FUNCDEF" +>static void setEncodingFunction</CODE +>(EncoderFn f);<P +></P +></DIV +><P +>Not yet implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1307" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG writeBlock</CODE +>(const char *data, Q_ULONG len);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>len</TT +> is derived from <TT +CLASS="LITERAL" +>data</TT +> and not passed +as a parameter.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1317" +>QFileDialog</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFileDialog</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1321" +>QFileIconProvider</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFileIconProvider</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1325" +>QFilePreview</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFilePreview</TT +> is fully implemented. However it cannot be +used from Python in the same way as it is used from C++ because PyQt does not +support multiple inheritance involving more than one wrapped class. A trick +that seems to work is to use composition rather than inheritance as in the +following code fragment.</P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>class FilePreview(QFilePreview): + pass + +class Preview(QLabel): + def __init__(self, parent=None): + QLabel.__init__(self, parent) + self.preview = FilePreview() + self.preview.previewUrl = self.previewUrl</PRE +></TD +></TR +></TABLE +><P +>Note that QFilePreview cannot be instantiated directly because it is abstract. +Thanks to Hans-Peter Jansen for this trick.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1331" +>QFileInfo</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFileInfo</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1335" +>QFont</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFont</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1341" +>QFontDatabase (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFontDatabase</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1345" +>QFontDialog (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1347" +></A +><CODE +CLASS="FUNCDEF" +>static QFont getFont</CODE +>(bool *ok, const QFont &def, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>def</TT +>, <TT +CLASS="LITERAL" +>parent</TT +> and +<TT +CLASS="LITERAL" +>name</TT +> parameters and returns a tuple containing the +<TT +CLASS="LITERAL" +>QFont</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1364" +></A +><CODE +CLASS="FUNCDEF" +>static QFont getFont</CODE +>(bool *ok, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>parent</TT +> and <TT +CLASS="LITERAL" +>name</TT +> parameters +and returns a tuple containing the <TT +CLASS="LITERAL" +>QFont</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1378" +>QFontInfo</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFontInfo</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1382" +>QFontMetrics</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1384" +></A +><CODE +CLASS="FUNCDEF" +>QRect boundingRect</CODE +>(int x, int y, int w, int h, int flags, const QString &str, int len = -1, int tabstops = 0, int *tabarray = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>tabarray</TT +> parameter is a Python list of integers.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1407" +></A +><CODE +CLASS="FUNCDEF" +>QSize size</CODE +>(int flags, const QString &str, int len = -1, int tabstops = 0, int *tabarray = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>tabarray</TT +> parameter is a Python list of integers.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1422" +>QFrame</A +></H3 +><P +><TT +CLASS="LITERAL" +>QFrame</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1426" +>QGManager (Qt v1.x)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGManager</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1430" +>QChain (Qt v1.x)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QChain</TT +> is implemented as an opaque class.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1434" +>QGrid (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGrid</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1438" +>QGridView (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGridView</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1442" +>QGroupBox</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGroupBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1446" +>QHBox (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1450" +>QHButtonGroup (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHButtonGroup</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1454" +>QHeader</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHeader</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1458" +>QHGroupBox (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHGroupBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1462" +>QIconSet</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIconSet</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1466" +>QIconFactory (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIconFactory</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1470" +>QIconView (Qt v2.1+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1472" +></A +><CODE +CLASS="FUNCDEF" +>QIconViewItem *makeRowLayout</CODE +>(QIconViewItem *begin, int &y);<P +></P +></DIV +><P +>Not yet implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1480" +>QIconViewItem (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIconViewItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1484" +>QIconDrag (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIconDrag</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1488" +>QIconDragItem (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIconDragItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1492" +>QImage</A +></H3 +><P +>The Python <TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators are +supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1497" +></A +><CODE +CLASS="FUNCDEF" +>QImage</CODE +>(const char *xpm[]);<P +></P +></DIV +><P +>This takes a list of strings as its parameter.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1503" +></A +><CODE +CLASS="FUNCDEF" +>QImage</CODE +>(uchar *data, int w, int h, int depth, QRgb *colorTable, int numColors, Endian bitOrder);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>colorTable</TT +> parameter is a list of QRgb instances or +None. (Qt v2.1+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1522" +></A +><CODE +CLASS="FUNCDEF" +>uchar *bits</CODE +>();<P +></P +></DIV +><P +>The return value is a <TT +CLASS="LITERAL" +>sip.voidptr</TT +> object which is only +useful if passed to another Python module.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1528" +></A +><CODE +CLASS="FUNCDEF" +>QRgb *colorTable</CODE +>();<P +></P +></DIV +><P +>The return value is a <TT +CLASS="LITERAL" +>sip.voidptr</TT +> object which is only +useful if passed to another Python module.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1534" +></A +><CODE +CLASS="FUNCDEF" +>QImage convertDepthWithPalette</CODE +>(int, QRgb *p, int pc, int cf = 0);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1545" +></A +><CODE +CLASS="FUNCDEF" +>uchar **jumpTable</CODE +>();<P +></P +></DIV +><P +>The return value is a <TT +CLASS="LITERAL" +>sip.voidptr</TT +> object which is only +useful if passed to another Python module.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1551" +></A +><CODE +CLASS="FUNCDEF" +>bool loadFromData</CODE +>(const uchar *buf, uint len, const char *format = 0, ColorMode mode = Auto);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>len</TT +> is derived from <TT +CLASS="LITERAL" +>buf</TT +> and not passed as +a parameter.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1565" +></A +><CODE +CLASS="FUNCDEF" +>uchar *scanLine</CODE +>(int i);<P +></P +></DIV +><P +>The return value is a <TT +CLASS="LITERAL" +>sip.voidptr</TT +> object which is only +useful if passed to another Python module.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1572" +>QImageIO</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1574" +></A +><CODE +CLASS="FUNCDEF" +>static void defineIOHandler</CODE +>(const char *format, const char *header, const char *flags, image_io_handler read_image, image_io_handler write_image);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1588" +>QImageTextKeyLang</A +></H3 +><P +><TT +CLASS="LITERAL" +>QImageTextKeyLang</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1592" +>QInputDialog (Qt v2.1+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1594" +></A +><CODE +CLASS="FUNCDEF" +>static QString getText</CODE +>(const QString &caption, const QString &label, const QString &text = QString::null, bool *ok = 0, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>QString</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag. +(Qt v2.1 - v2.3.1)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1613" +></A +><CODE +CLASS="FUNCDEF" +>static QString getText</CODE +>(const QString &caption, const QString &label, QLineEdit::EchoModeecho, const QString &text = QString::null, bool *ok = 0, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>QString</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag. +(Qt v2.2 - v2.3.1)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1634" +></A +><CODE +CLASS="FUNCDEF" +>static QString getText</CODE +>(const QString &caption, const QString &label, QLineEdit::EchoModeecho = QLineEdit::Normal, const QString &text = QString::null, bool *ok = 0, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>QString</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag. +(Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1655" +></A +><CODE +CLASS="FUNCDEF" +>static int getInteger</CODE +>(const QString &caption, const QString &label, int num = 0, int from = -2147483647, int to = 2147483647, int step = 1, bool *ok = 0, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>int</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1680" +></A +><CODE +CLASS="FUNCDEF" +>static double getDouble</CODE +>(const QString &caption, const QString &label, double num = 0, double from = -2147483647, double to = 2147483647, int step = 1, bool *ok = 0, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>double</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1705" +></A +><CODE +CLASS="FUNCDEF" +>static QString getItem</CODE +>(const QString &caption, const QString &label, const QStringList &list, int current = 0, bool editable = TRUE, bool *ok = 0, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>QString</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1728" +>QInterlaceStyle (Qt v2.3.1+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1730" +></A +><CODE +CLASS="FUNCDEF" +>void scrollBarMetrics</CODE +>(const QTabBar *sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>sb</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>sliderMin</TT +>, <TT +CLASS="LITERAL" +>sliderMax</TT +>, +<TT +CLASS="LITERAL" +>sliderLength</TT +> and <TT +CLASS="LITERAL" +>buttonDim</TT +> values.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1749" +>QIODevice</A +></H3 +><P +><TT +CLASS="LITERAL" +>QIODevice</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1753" +>QKeySequence (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QKeySequence</TT +> is fully implemented including the operators +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +>, <TT +CLASS="LITERAL" +>QString()</TT +> and +<TT +CLASS="LITERAL" +>int()</TT +>. A <TT +CLASS="LITERAL" +>QString</TT +> instance or a Python +integer may be used whenever a <TT +CLASS="LITERAL" +>QKeySequence</TT +> can be used.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1763" +>QLabel</A +></H3 +><P +><TT +CLASS="LITERAL" +>QLabel</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1767" +>QLayout</A +></H3 +><P +><TT +CLASS="LITERAL" +>QLayout</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1771" +>QBoxLayout</A +></H3 +><P +><TT +CLASS="LITERAL" +>QBoxLayout</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1775" +>QGLayoutIterator (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGLayoutIterator</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1779" +>QGridLayout</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1781" +></A +><CODE +CLASS="FUNCDEF" +>bool findWidget</CODE +>(QWidget *w, int *row, int *col);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>w</TT +> parameter and returns a tuple containing +the <TT +CLASS="LITERAL" +>bool</TT +> result, <TT +CLASS="LITERAL" +>row</TT +> and +<TT +CLASS="LITERAL" +>col</TT +>. (Qt v2+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1795" +>QHBoxLayout</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHBoxLayout</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1799" +>QLayoutItem (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QLayoutItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1803" +>QLayoutIterator (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1805" +></A +><CODE +CLASS="FUNCDEF" +>QLayoutItem *next</CODE +>();<P +></P +></DIV +><P +>This is a wrapper around the <TT +CLASS="LITERAL" +>QLayoutIterator</TT +> +<TT +CLASS="LITERAL" +>++</TT +> operator.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1812" +>QSpacerItem (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSpacerItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1816" +>QVBoxLayout</A +></H3 +><P +><TT +CLASS="LITERAL" +>QVBoxLayout</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1820" +>QWidgetItem (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWidgetItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1824" +>QLCDNumber</A +></H3 +><P +><TT +CLASS="LITERAL" +>QLCDNumber</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1828" +>QLibrary (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QLibrary</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1832" +>QLineEdit</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1834" +></A +><CODE +CLASS="FUNCDEF" +>int characterAt</CODE +>(int xpos, QChar *chr);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>xpos</TT +> parameter and returns the int +result and the <TT +CLASS="LITERAL" +>chr</TT +> value as a tuple. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1844" +></A +><CODE +CLASS="FUNCDEF" +>void del</CODE +>();<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>delChar</TT +> in Python. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1850" +></A +><CODE +CLASS="FUNCDEF" +>bool getSelection</CODE +>(int *start, int *end);<P +></P +></DIV +><P +>This takes no parameters and returns the bool result and the +<TT +CLASS="LITERAL" +>start</TT +> and <TT +CLASS="LITERAL" +>end</TT +> values as a tuple. +(Qt v3+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1860" +>QList<type> (Qt v2)</A +></H3 +><P +>Types based on the <TT +CLASS="LITERAL" +>QList</TT +> template are automatically +converted to and from Python lists of the type.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1864" +>QListBox</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1866" +></A +><CODE +CLASS="FUNCDEF" +>bool itemYPos</CODE +>(int index, int *yPos);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>index</TT +> parameter and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and <TT +CLASS="LITERAL" +>yPos</TT +>. +(Qt v1.x)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1877" +>QListBoxItem</A +></H3 +><P +><TT +CLASS="LITERAL" +>QListBoxItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1881" +>QListBoxPixmap</A +></H3 +><P +><TT +CLASS="LITERAL" +>QListBoxPixmap</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1885" +>QListBoxText</A +></H3 +><P +><TT +CLASS="LITERAL" +>QListBoxText</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1889" +>QListView</A +></H3 +><P +><TT +CLASS="LITERAL" +>QListView</TT +> is fully implemented.</P +><P +>Note that to remove a child <TT +CLASS="LITERAL" +>QListViewItem</TT +> you must first +call <TT +CLASS="LITERAL" +>takeItem()</TT +> and then <TT +CLASS="LITERAL" +>del()</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1897" +>QListViewItem</A +></H3 +><P +><TT +CLASS="LITERAL" +>QListViewItem</TT +> is fully implemented.</P +><P +>Note that to remove a child <TT +CLASS="LITERAL" +>QListViewItem</TT +> you must first +call <TT +CLASS="LITERAL" +>takeItem()</TT +> and then <TT +CLASS="LITERAL" +>del()</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1905" +>QCheckListItem</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCheckListItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1909" +>QListViewItemIterator (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QListViewItemIterator</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1913" +>QLocale (Qt v3.3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1915" +></A +><CODE +CLASS="FUNCDEF" +>short toShort</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>short</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1923" +></A +><CODE +CLASS="FUNCDEF" +>ushort toUShort</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>ushort</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1931" +></A +><CODE +CLASS="FUNCDEF" +>int toInt</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>int</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1939" +></A +><CODE +CLASS="FUNCDEF" +>uint toUInt</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>uint</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1947" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG toLong</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>long</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1955" +></A +><CODE +CLASS="FUNCDEF" +>Q_ULONG toULong</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>ulong</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1963" +></A +><CODE +CLASS="FUNCDEF" +>float toFloat</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>float</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1971" +></A +><CODE +CLASS="FUNCDEF" +>double toDouble</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>double</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN1979" +>QMainWindow</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1981" +></A +><CODE +CLASS="FUNCDEF" +>QTextStream &operator<<</CODE +>(QTextStream &, const QMainWindow &);<P +></P +></DIV +><P +>This operator is fully implemented. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1989" +></A +><CODE +CLASS="FUNCDEF" +>QTextStream &operator>></CODE +>(QTextStream &, QMainWindow &);<P +></P +></DIV +><P +>This operator is fully implemented. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN1997" +></A +><CODE +CLASS="FUNCDEF" +>bool getLocation</CODE +>(QToolBar *tb, ToolBarDock &dock, int &index, bool &nl, int &extraOffset);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>tb</TT +> parameter and returns a tuple of the +result, <TT +CLASS="LITERAL" +>dock</TT +>, <TT +CLASS="LITERAL" +>index</TT +>, +<TT +CLASS="LITERAL" +>nl</TT +> and <TT +CLASS="LITERAL" +>extraOffset</TT +> values. (Qt v2.1.0+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2016" +></A +><CODE +CLASS="FUNCDEF" +>QList<QToolBar> toolBars</CODE +>(ToolBarDock dock);<P +></P +></DIV +><P +>This returns a list of <TT +CLASS="LITERAL" +>QToolBar</TT +> instances. (Qt v2.1.0+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2023" +>QMemArray<type> (Qt v3+)</A +></H3 +><P +>Types based on the <TT +CLASS="LITERAL" +>QMemArray</TT +> template are automatically +converted to and from Python lists of the type.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2027" +>QMenuBar</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMenuBar</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2031" +>QMenuData</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2033" +></A +><CODE +CLASS="FUNCDEF" +>QMenuItem *findItem</CODE +>(int id, QMenuData **parent);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2041" +>QCustomMenuItem (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCustomMenuItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2045" +>QMenuItem</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMenuItem</TT +> is an internal Qt class.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2049" +>QMessageBox</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMessageBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2053" +>QMetaObject</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2055" +></A +><CODE +CLASS="FUNCDEF" +>int numClassInfo const</CODE +>(bool super = FALSE);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2061" +></A +><CODE +CLASS="FUNCDEF" +>const QClassInfo *classInfo const</CODE +>(bool super = FALSE);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2067" +>QMetaProperty</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMetaProperty</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2071" +>QMimeSource (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMimeSource</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2075" +>QMimeSourceFactory (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMimeSourceFactory</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2079" +>QWindowsMime (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWindowsMime</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2083" +>QMotifPlusStyle (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2085" +></A +><CODE +CLASS="FUNCDEF" +>void getButtonShift</CODE +>(int &x, int &y);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the <TT +CLASS="LITERAL" +>x</TT +> and +<TT +CLASS="LITERAL" +>y</TT +> values. (Qt v2)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2095" +></A +><CODE +CLASS="FUNCDEF" +>void scrollBarMetrics</CODE +>(const QScrollBar *sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>sb</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>sliderMin</TT +>, <TT +CLASS="LITERAL" +>sliderMax</TT +>, +<TT +CLASS="LITERAL" +>sliderLength</TT +> and <TT +CLASS="LITERAL" +>buttonDim</TT +> values. +(Qt v2)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2114" +>QMotifStyle (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2116" +></A +><CODE +CLASS="FUNCDEF" +>void scrollBarMetrics</CODE +>(const QTabBar *sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>sb</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>sliderMin</TT +>, <TT +CLASS="LITERAL" +>sliderMax</TT +>, +<TT +CLASS="LITERAL" +>sliderLength</TT +> and <TT +CLASS="LITERAL" +>buttonDim</TT +> values. +(Qt v2)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2135" +></A +><CODE +CLASS="FUNCDEF" +>void tabbarMetrics</CODE +>(const QTabBar *t, int &hframe, int &vframe, int &overlap);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>t</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>hframe</TT +>, <TT +CLASS="LITERAL" +>vframe</TT +> and +<TT +CLASS="LITERAL" +>overlap</TT +> values. (Qt v2)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2151" +>QMovie</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2153" +></A +><CODE +CLASS="FUNCDEF" +>QMovie</CODE +>(QDataSource *src, int bufsize = 1024);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2161" +></A +><CODE +CLASS="FUNCDEF" +>void pushData</CODE +>(const uchar *data, int length);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>length</TT +> is derived from <TT +CLASS="LITERAL" +>data</TT +> and not +passed as a parameter. (Qt v2.2.0+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2171" +>QMultiLineEdit</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2173" +></A +><CODE +CLASS="FUNCDEF" +>void cursorPosition const</CODE +>(int *line, int *col);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the <TT +CLASS="LITERAL" +>line</TT +> and +<TT +CLASS="LITERAL" +>col</TT +> values. (Qt v1.x, Qt v2.x)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2183" +></A +><CODE +CLASS="FUNCDEF" +>virtual void del</CODE +>();<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>delChar</TT +> in Python. (Qt v1.x, Qt v2.x)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2189" +></A +><CODE +CLASS="FUNCDEF" +>void getCursorPosition const</CODE +>(int *line, int *col);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the <TT +CLASS="LITERAL" +>line</TT +> and +<TT +CLASS="LITERAL" +>col</TT +> values. (Qt v1.x, Qt v2.x)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2199" +></A +><CODE +CLASS="FUNCDEF" +>bool getMarkedRegion</CODE +>(int *line1, int *col1, int *line2, int *col2);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the bool result and the +<TT +CLASS="LITERAL" +>line1</TT +>, <TT +CLASS="LITERAL" +>col1</TT +>, <TT +CLASS="LITERAL" +>line2</TT +> and +<TT +CLASS="LITERAL" +>col2</TT +> values.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2215" +>QMutex (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMutex</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2219" +>QMutexLocker (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QMutexLocker</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2223" +>QNetworkOperation (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QNetworkOperation</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2227" +>QNetworkProtocol (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QNetworkProtocol</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2231" +>QNetworkProtocolFactoryBase (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QNetworkProtocolFactoryBase</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2235" +>QObject</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2237" +></A +><CODE +CLASS="FUNCDEF" +>bool disconnect</CODE +>(const QObject *receiver, const char *member = 0);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2245" +></A +><CODE +CLASS="FUNCDEF" +>bool disconnect</CODE +>(const char *signal = 0, const QObject *receiver = 0, const char *member = 0);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2255" +></A +><CODE +CLASS="FUNCDEF" +>static bool disconnect</CODE +>(const QObject *sender, const char *signal, const QObject *receiver, const char *member);<P +></P +></DIV +><P +>At the moment PyQt does not support the full behaviour of the corresponding Qt +method. In particular, specifying None (ie. 0 in C++) for the +<TT +CLASS="LITERAL" +>signal</TT +> and <TT +CLASS="LITERAL" +>receiver</TT +> parameters is not yet +supported.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2269" +>QObjectCleanupHandler (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QObjectCleanupHandler</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2273" +>QObjectList</A +></H3 +><P +>This class isn't implemented. Whenever a <TT +CLASS="LITERAL" +>QObjectList</TT +> is the +return type of a function or the type of an argument, a Python list of +<TT +CLASS="LITERAL" +>QObject</TT +> instances is used instead.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2278" +>QPaintDeviceMetrics</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPaintDeviceMetrics</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2282" +>QPaintDevice</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2284" +></A +><CODE +CLASS="FUNCDEF" +>virtual bool cmd</CODE +>(int, QPainter *, QPDevCmdParam *);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2291" +>QPainter</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2293" +></A +><CODE +CLASS="FUNCDEF" +>QRect boundingRect</CODE +>(int x, int y, int w, int h, int flags, const char *str, int len = -1, char **intern = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>intern</TT +> parameter is not supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2314" +></A +><CODE +CLASS="FUNCDEF" +>QRect boundingRect</CODE +>(const QRect&, int flags, const char *str, int len = -1, char **intern = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>intern</TT +> parameter is not supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2328" +></A +><CODE +CLASS="FUNCDEF" +>void drawText</CODE +>(int x, int y, int w, int h, int flags, const char *str, int len = -1, QRect *br = 0, char **intern = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>intern</TT +> parameter is not supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2351" +></A +><CODE +CLASS="FUNCDEF" +>void drawText</CODE +>(const QRect&, int flags, const char *str, int len = -1, QRect *br = 0, char **intern = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>intern</TT +> parameter is not supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2367" +></A +><CODE +CLASS="FUNCDEF" +>void setTabArray</CODE +>(int *ta);<P +></P +></DIV +><P +>This takes a single parameter which is a list of tab stops.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2373" +></A +><CODE +CLASS="FUNCDEF" +>int *tabArray</CODE +>();<P +></P +></DIV +><P +>This returns a list of tab stops.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2378" +>QPalette</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPalette</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2384" +>QPixmap</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2386" +></A +><CODE +CLASS="FUNCDEF" +>QPixmap</CODE +>(const char *xpm[]);<P +></P +></DIV +><P +>This takes a list of strings as its parameter.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2392" +></A +><CODE +CLASS="FUNCDEF" +>bool loadFromData</CODE +>(const uchar *buf, uint len, const char *format = 0, ColorMode mode = Auto);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>len</TT +> is derived from <TT +CLASS="LITERAL" +>buf</TT +> and not passed as +a parameter.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2406" +></A +><CODE +CLASS="FUNCDEF" +>bool loadFromData</CODE +>(const uchar *buf, uint len, const char *format, int conversion_flags);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2418" +>QPixmapCache (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPixmapCache</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2422" +>QPair<type,type> (Qt v3+)</A +></H3 +><P +>Types based on the <TT +CLASS="LITERAL" +>QPair</TT +> template are automatically +converted to and from Python tuples of two elements.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2426" +>QPen</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPen</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2432" +>QPicture</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2434" +></A +><CODE +CLASS="FUNCDEF" +>const char *data</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2439" +></A +><CODE +CLASS="FUNCDEF" +>void setData</CODE +>(const char *data, uint size);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>size</TT +> is derived from <TT +CLASS="LITERAL" +>data</TT +> and not passed +as a parameter.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2449" +>QPlatinumStyle (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2451" +></A +><CODE +CLASS="FUNCDEF" +>void scrollBarMetrics</CODE +>(const QTabBar *sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>sb</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>sliderMin</TT +>, <TT +CLASS="LITERAL" +>sliderMax</TT +>, +<TT +CLASS="LITERAL" +>sliderLength</TT +> and <TT +CLASS="LITERAL" +>buttonDim</TT +> values. +(Qt v2)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2470" +>QPoint</A +></H3 +><P +>The Python +<TT +CLASS="LITERAL" +>+</TT +>, <TT +CLASS="LITERAL" +>+=</TT +>, +<TT +CLASS="LITERAL" +>-</TT +>, <TT +CLASS="LITERAL" +>-=</TT +>, unary <TT +CLASS="LITERAL" +>-</TT +>, +<TT +CLASS="LITERAL" +>*</TT +>, <TT +CLASS="LITERAL" +>*=</TT +>, +<TT +CLASS="LITERAL" +>/</TT +>, <TT +CLASS="LITERAL" +>/=</TT +>, +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +> and <TT +CLASS="LITERAL" +>__nonzero__</TT +> +operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2485" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &rx</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2490" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &ry</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2495" +>QPointArray</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2497" +></A +><CODE +CLASS="FUNCDEF" +>QPointArray</CODE +>(int nPoints, const QCOORD *points);<P +></P +></DIV +><P +>This takes a single parameter which is a list of points.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2505" +></A +><CODE +CLASS="FUNCDEF" +>void point</CODE +>(uint i, int *x, int *y);<P +></P +></DIV +><P +>This takes the single parameter <TT +CLASS="LITERAL" +>i</TT +> and returns the +<TT +CLASS="LITERAL" +>x</TT +> and <TT +CLASS="LITERAL" +>y</TT +> values as a tuple.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2518" +></A +><CODE +CLASS="FUNCDEF" +>bool putPoints</CODE +>(int index, int nPoints, const QCOORD *points);<P +></P +></DIV +><P +>This takes two parameters, <TT +CLASS="LITERAL" +>index</TT +> and a list of points.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2529" +></A +><CODE +CLASS="FUNCDEF" +>bool putPoints</CODE +>(int index, int nPoints, int firstx, int firsty, ...);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2542" +></A +><CODE +CLASS="FUNCDEF" +>bool setPoints</CODE +>(int nPoints, const QCOORD *points);<P +></P +></DIV +><P +>This takes a single parameter which is a list of points.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2550" +></A +><CODE +CLASS="FUNCDEF" +>bool setPoints</CODE +>(int nPoints, int firstx, int firsty, ...);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2561" +>QPopupMenu</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2563" +></A +><CODE +CLASS="FUNCDEF" +>int exec</CODE +>();<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>exec_loop</TT +> in Python.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2569" +></A +><CODE +CLASS="FUNCDEF" +>int exec</CODE +>(const QPoint &pos, int indexAtPoint = 0);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>exec_loop</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2578" +>QPrintDialog (X11)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPrintDialog</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2582" +>QPrinter</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPrinter</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2586" +>QProcess (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QProcess</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2590" +>QProgressBar</A +></H3 +><P +><TT +CLASS="LITERAL" +>QProgressBar</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2594" +>QProgressDialog</A +></H3 +><P +><TT +CLASS="LITERAL" +>QProgressDialog</TT +> is fully implemented. +value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2598" +>QPtrList<type> (Qt v3+)</A +></H3 +><P +>Types based on the <TT +CLASS="LITERAL" +>QPtrList</TT +> template are automatically +converted to and from Python lists of the type.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2602" +>QPushButton</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPushButton</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2606" +>QRadioButton</A +></H3 +><P +><TT +CLASS="LITERAL" +>QRadioButton</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2610" +>QRangeControl</A +></H3 +><P +><TT +CLASS="LITERAL" +>QRangeControl</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2614" +>QRect</A +></H3 +><P +>The Python +<TT +CLASS="LITERAL" +>&</TT +>, <TT +CLASS="LITERAL" +>&=</TT +>, +<TT +CLASS="LITERAL" +>|</TT +>, <TT +CLASS="LITERAL" +>|=</TT +>, +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +>, <TT +CLASS="LITERAL" +>in</TT +> and +<TT +CLASS="LITERAL" +>__nonzero__</TT +> operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2625" +></A +><CODE +CLASS="FUNCDEF" +>void coords</CODE +>(int *x1, int *y1, int *x2, int *y2);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple containing the four values.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2637" +></A +><CODE +CLASS="FUNCDEF" +>void rect</CODE +>(int *x, int *y, int *w, int *h);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple containing the four values.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2649" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &rBottom</CODE +>();<P +></P +></DIV +><P +>Not implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2654" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &rLeft</CODE +>();<P +></P +></DIV +><P +>Not implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2659" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &rRight</CODE +>();<P +></P +></DIV +><P +>Not implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2664" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &rTop</CODE +>();<P +></P +></DIV +><P +>Not implemented. (Qt v2+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2669" +>QRegExp</A +></H3 +><P +>The Python <TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators are +supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2674" +></A +><CODE +CLASS="FUNCDEF" +>int match</CODE +>(const char *str, int index = 0, int *len = 0);<P +></P +></DIV +><P +>This takes <TT +CLASS="LITERAL" +>str</TT +> and <TT +CLASS="LITERAL" +>index</TT +> parameters and +returns a tuple of the <TT +CLASS="LITERAL" +>int</TT +> result and the +<TT +CLASS="LITERAL" +>len</TT +> value. (Qt v1.x)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2688" +></A +><CODE +CLASS="FUNCDEF" +>int match</CODE +>(const QString &str, int index = 0, int *len = 0);<P +></P +></DIV +><P +>This takes <TT +CLASS="LITERAL" +>str</TT +> and <TT +CLASS="LITERAL" +>index</TT +> parameters and +returns a tuple of the <TT +CLASS="LITERAL" +>int</TT +> result and the +<TT +CLASS="LITERAL" +>len</TT +> value. (Qt v2+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2702" +>QRegion</A +></H3 +><P +>The Python +<TT +CLASS="LITERAL" +>|</TT +>, <TT +CLASS="LITERAL" +>|=</TT +>, +<TT +CLASS="LITERAL" +>+</TT +>, <TT +CLASS="LITERAL" +>+=</TT +>, +<TT +CLASS="LITERAL" +>&</TT +>, <TT +CLASS="LITERAL" +>&=</TT +>, +<TT +CLASS="LITERAL" +>-</TT +>, <TT +CLASS="LITERAL" +>-=</TT +>, +<TT +CLASS="LITERAL" +>^</TT +>, <TT +CLASS="LITERAL" +>^=</TT +>, +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +>, <TT +CLASS="LITERAL" +>in</TT +> and +<TT +CLASS="LITERAL" +>__nonzero__</TT +> operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2719" +></A +><CODE +CLASS="FUNCDEF" +>QArray<QRect> rects</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2724" +></A +><CODE +CLASS="FUNCDEF" +>void setRects</CODE +>(QRect *rects, int num);<P +></P +></DIV +><P +>Not yet implemented. (Qt v2.2+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2732" +>QScrollBar</A +></H3 +><P +><TT +CLASS="LITERAL" +>QScrollBar</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2736" +>QScrollView</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2738" +></A +><CODE +CLASS="FUNCDEF" +>void contentsToViewport</CODE +>(int x, int y, int &vx, int &vy);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>x</TT +> and <TT +CLASS="LITERAL" +>y</TT +> parameters and +returns a tuple containing the <TT +CLASS="LITERAL" +>vx</TT +> and <TT +CLASS="LITERAL" +>vy</TT +> +values. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2754" +></A +><CODE +CLASS="FUNCDEF" +>void viewportToContents</CODE +>(int vx, int vy, int &x, int &y);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>vx</TT +> and <TT +CLASS="LITERAL" +>vy</TT +> parameters and +returns a tuple containing the <TT +CLASS="LITERAL" +>x</TT +> and <TT +CLASS="LITERAL" +>y</TT +> +values. (Qt v2+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2770" +>QSemaphore (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSemaphore</TT +> is fully implemented. The <TT +CLASS="LITERAL" +>+=</TT +> +and <TT +CLASS="LITERAL" +>-=</TT +> operators have also been implemented, but require +Python v2.0 or later.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2776" +>QSemiModal (Qt v1, v2)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSemiModal</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2780" +>QSessionManager (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSessionManager</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2784" +>QSettings (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2786" +></A +><CODE +CLASS="FUNCDEF" +>bool readBoolEntry</CODE +>(const QString &key, bool def = 0, bool *ok = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>bool</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2799" +></A +><CODE +CLASS="FUNCDEF" +>double readDoubleEntry</CODE +>(const QString &key, double def = 0, bool *ok = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>double</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2812" +></A +><CODE +CLASS="FUNCDEF" +>QString readEntry</CODE +>(const QString &key, const QString &def = QString::null, bool *ok = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>QString</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2825" +></A +><CODE +CLASS="FUNCDEF" +>QStringList readListEntry</CODE +>(const QString &key, bool *ok = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>QStringList</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2836" +></A +><CODE +CLASS="FUNCDEF" +>QStringList readListEntry</CODE +>(const QString &key, const QChar &separator, bool *ok = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>QStringList</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2849" +></A +><CODE +CLASS="FUNCDEF" +>int readNumEntry</CODE +>(const QString &key, int def = 0, bool *ok = 0);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>ok</TT +> is not passed and the returned value is a tuple of +the <TT +CLASS="LITERAL" +>int</TT +> result and the <TT +CLASS="LITERAL" +>ok</TT +> flag.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2862" +></A +><CODE +CLASS="FUNCDEF" +>bool writeEntry</CODE +>(const QString &key, bool value);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2870" +>QSGIStyle (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2872" +></A +><CODE +CLASS="FUNCDEF" +>void scrollBarMetrics</CODE +>(const QScrollBar *sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>sb</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>sliderMin</TT +>, <TT +CLASS="LITERAL" +>sliderMax</TT +>, +<TT +CLASS="LITERAL" +>sliderLength</TT +> and <TT +CLASS="LITERAL" +>buttonDim</TT +> values. +(Qt v2)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2891" +>QSignalMapper</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSignalMapper</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2895" +>QSimpleRichText (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSimpleRichText</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2899" +>QSize</A +></H3 +><P +>The Python +<TT +CLASS="LITERAL" +>+</TT +>, <TT +CLASS="LITERAL" +>+=</TT +>, +<TT +CLASS="LITERAL" +>-</TT +>, <TT +CLASS="LITERAL" +>-=</TT +>, +<TT +CLASS="LITERAL" +>*</TT +>, <TT +CLASS="LITERAL" +>*=</TT +>, +<TT +CLASS="LITERAL" +>/</TT +>, <TT +CLASS="LITERAL" +>/=</TT +>, +<TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +> and <TT +CLASS="LITERAL" +>__nonzero__</TT +> +operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2913" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &rheight</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2918" +></A +><CODE +CLASS="FUNCDEF" +>QCOORD &rwidth</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2923" +>QSizeGrip (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSizeGrip</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2927" +>QSizePolicy (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSizePolicy</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2931" +>QSlider</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSlider</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2935" +>QSocketNotifier</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSocketNotifier</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2939" +>QSound (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSound</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2943" +>QSpinBox</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2945" +></A +><CODE +CLASS="FUNCDEF" +>virtual int mapTextToValue</CODE +>(bool *ok);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>int</TT +> result and the modified +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2953" +>QSplashScreen (Qt v3.2.0+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSplashScreen</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2957" +>QSplitter</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2959" +></A +><CODE +CLASS="FUNCDEF" +>void getRange</CODE +>(int id, int *min, int *max);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>id</TT +> parameter and returns the +<TT +CLASS="LITERAL" +>min</TT +> and <TT +CLASS="LITERAL" +>max</TT +> values as a tuple. (Qt v2+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2972" +>QStatusBar</A +></H3 +><P +><TT +CLASS="LITERAL" +>QStatusBar</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2976" +>QChar (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2978" +></A +><CODE +CLASS="FUNCDEF" +>uchar &cell const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN2983" +></A +><CODE +CLASS="FUNCDEF" +>uchar &row const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN2988" +>QString</A +></H3 +><P +>A Python string object (or Unicode object) can be used whenever a +<TT +CLASS="LITERAL" +>QString</TT +> can be used. A <TT +CLASS="LITERAL" +>QString</TT +> can be +converted to a Python string object using the Python <TT +CLASS="LITERAL" +>str()</TT +> +function, and to a Python Unicode object using the Python +<TT +CLASS="LITERAL" +>unicode()</TT +> function.</P +><P +>The Python <TT +CLASS="LITERAL" +>+=</TT +>, <TT +CLASS="LITERAL" +>len</TT +>, <TT +CLASS="LITERAL" +>[]</TT +> +(for reading slices and individual characters), <TT +CLASS="LITERAL" +>in</TT +> and +comparison operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3000" +></A +><CODE +CLASS="FUNCDEF" +>QCharRef at</CODE +>(uint i);<P +></P +></DIV +><P +>Not yet implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3006" +></A +><CODE +CLASS="FUNCDEF" +>QChar constref const</CODE +>(uint i);<P +></P +></DIV +><P +>Not yet implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3012" +></A +><CODE +CLASS="FUNCDEF" +>QChar &ref</CODE +>(uint i);<P +></P +></DIV +><P +>Not yet implemented. (Qt v2+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3018" +></A +><CODE +CLASS="FUNCDEF" +>QString &setUnicodeCodes</CODE +>(const ushort *unicode_as_shorts, uint len);<P +></P +></DIV +><P +>Not yet implemented. (Qt v2.1+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3026" +></A +><CODE +CLASS="FUNCDEF" +>QString &sprintf</CODE +>(const char *format, ...);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3033" +></A +><CODE +CLASS="FUNCDEF" +>short toShort</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>short</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3041" +></A +><CODE +CLASS="FUNCDEF" +>ushort toUShort</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>ushort</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3049" +></A +><CODE +CLASS="FUNCDEF" +>int toInt</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>int</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3057" +></A +><CODE +CLASS="FUNCDEF" +>uint toUInt</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>uint</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3065" +></A +><CODE +CLASS="FUNCDEF" +>long toLong</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>long</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3073" +></A +><CODE +CLASS="FUNCDEF" +>ulong toULong</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>ulong</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3081" +></A +><CODE +CLASS="FUNCDEF" +>float toFloat</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>float</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3089" +></A +><CODE +CLASS="FUNCDEF" +>double toDouble</CODE +>(bool *ok = 0);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>double</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3097" +>QStringList (Qt v2+)</A +></H3 +><P +>The Python <TT +CLASS="LITERAL" +>len</TT +>, <TT +CLASS="LITERAL" +>[]</TT +> (for both reading and +writing slices and individual elements), <TT +CLASS="LITERAL" +>del</TT +> (for deleting +slices and individual elements), <TT +CLASS="LITERAL" +>+</TT +>, <TT +CLASS="LITERAL" +>+=</TT +>, +<TT +CLASS="LITERAL" +>*</TT +>, <TT +CLASS="LITERAL" +>*=</TT +>, <TT +CLASS="LITERAL" +>==</TT +>, +<TT +CLASS="LITERAL" +>!=</TT +> and <TT +CLASS="LITERAL" +>in</TT +> operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3110" +></A +><CODE +CLASS="FUNCDEF" +>Iterator append</CODE +>(const QString &x);<P +></P +></DIV +><P +>This does not return a value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3116" +></A +><CODE +CLASS="FUNCDEF" +>Iterator prepend</CODE +>(const QString &x);<P +></P +></DIV +><P +>This does not return a value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3122" +>QStrList</A +></H3 +><P +>This class isn't implemented. Whenever a <TT +CLASS="LITERAL" +>QStrList</TT +> is the +return type of a function or the type of an argument, a Python list of strings +is used instead.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3126" +>QStyle (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3128" +></A +><CODE +CLASS="FUNCDEF" +>virtual void getButtonShift</CODE +>(int &x, int &y);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the <TT +CLASS="LITERAL" +>x</TT +> and +<TT +CLASS="LITERAL" +>y</TT +> values. (Qt v2)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3138" +></A +><CODE +CLASS="FUNCDEF" +>virtual void scrollBarMetrics</CODE +>(const QScrollBar *b, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim);<P +></P +></DIV +><P +>Thus takes only the <TT +CLASS="LITERAL" +>b</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>sliderMin</TT +>, <TT +CLASS="LITERAL" +>sliderMax</TT +>, +<TT +CLASS="LITERAL" +>sliderLength</TT +> and <TT +CLASS="LITERAL" +>buttonDim</TT +> values. +(Qt v2)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3157" +></A +><CODE +CLASS="FUNCDEF" +>virtual void tabbarMetrics</CODE +>(const QTabBar *t, int &hframe, int &vframe, int &overlap);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>t</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>hframe</TT +>, <TT +CLASS="LITERAL" +>vframe</TT +> and +<TT +CLASS="LITERAL" +>overlap</TT +> values. (Qt v2)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3173" +>QStyleOption (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QStyleOption</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3177" +>QStyleSheet (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QStyleSheet</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3181" +>QStyleSheetItem (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QStyleSheetItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3185" +>QSyntaxHighlighter (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSyntaxHighlighter</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3189" +>QTab</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTab</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3193" +>QTabBar</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3195" +></A +><CODE +CLASS="FUNCDEF" +>QList<QTab> tabList</CODE +>();<P +></P +></DIV +><P +>This returns a list of <TT +CLASS="LITERAL" +>QTab</TT +> instances.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3201" +>QTabDialog</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTabDialog</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3205" +>QTableView (Qt 1.x, Qt 2.x)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3207" +></A +><CODE +CLASS="FUNCDEF" +>bool colXPos</CODE +>(int col, int *xPos);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>col</TT +> parameter and returns a tuple containing +the <TT +CLASS="LITERAL" +>bool</TT +> result and <TT +CLASS="LITERAL" +>xPos</TT +>.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3218" +></A +><CODE +CLASS="FUNCDEF" +>bool rowYPos</CODE +>(int row, int *yPos);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>row</TT +> parameter and returns a tuple containing +the <TT +CLASS="LITERAL" +>bool</TT +> result and <TT +CLASS="LITERAL" +>yPos</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3229" +>QTabWidget (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTabWidget</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3233" +>QTextBrowser (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTextBrowser</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3237" +>QTextCodec (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3239" +></A +><CODE +CLASS="FUNCDEF" +>virtual QCString fromUnicode</CODE +>(const QString &uc, int &lenInOut);<P +></P +></DIV +><P +>The returned value is a tuple of the <TT +CLASS="LITERAL" +>QCString</TT +> result and the +updated <TT +CLASS="LITERAL" +>lenInOut</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3249" +>QTextDecoder (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTextDecoder</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3253" +>QTextEncoder (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3255" +></A +><CODE +CLASS="FUNCDEF" +>virtual QCString fromUnicode = 0</CODE +>(const QString &uc, int &lenInOut);<P +></P +></DIV +><P +>The returned value is a tuple of the <TT +CLASS="LITERAL" +>QCString</TT +> result and the +updated <TT +CLASS="LITERAL" +>lenInOut</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3265" +>QTextEdit (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3267" +></A +><CODE +CLASS="FUNCDEF" +>int charAt</CODE +>(const QPoint &pos, int *para = 0);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>pos</TT +> parameter and returns a tuple of the +value returned via the <TT +CLASS="LITERAL" +>para</TT +> pointer and the int result.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3277" +></A +><CODE +CLASS="FUNCDEF" +>void del</CODE +>();<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>delChar</TT +> in Python.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3283" +></A +><CODE +CLASS="FUNCDEF" +>virtual bool find</CODE +>(const QString &expr, bool cs, bool wo, bool forward = TRUE, int *para = 0, int *index = 0);<P +></P +></DIV +><P +>If the <TT +CLASS="LITERAL" +>para</TT +> and <TT +CLASS="LITERAL" +>index</TT +> parameters are +omitted then the bool result is returned. If both are supplied (as integers) +then a tuple of the bool result and the modified values of +<TT +CLASS="LITERAL" +>para</TT +> and <TT +CLASS="LITERAL" +>index</TT +> is returned.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3303" +></A +><CODE +CLASS="FUNCDEF" +>void getCursorPosition</CODE +>(int *para, int *index);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the values returned via the +<TT +CLASS="LITERAL" +>para</TT +> and <TT +CLASS="LITERAL" +>index</TT +> pointers.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3313" +></A +><CODE +CLASS="FUNCDEF" +>void getSelection</CODE +>(int *paraFrom, int *indexFrom, int *paraTo, int *indexTo, int selNum = 0);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>selNum</TT +> parameter and returns a tuple of +the <TT +CLASS="LITERAL" +>paraFrom</TT +>, <TT +CLASS="LITERAL" +>indexFrom</TT +>, +<TT +CLASS="LITERAL" +>paraTo</TT +> and <TT +CLASS="LITERAL" +>indexTo</TT +> values.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3332" +>QTextStream</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3334" +></A +><CODE +CLASS="FUNCDEF" +>QTextStream</CODE +>(FILE *fp, int mode);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3342" +></A +><CODE +CLASS="FUNCDEF" +>QTextStream &readRawBytes</CODE +>(char *buf, uint len);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3350" +></A +><CODE +CLASS="FUNCDEF" +>QTextStream &writeRawBytes</CODE +>(const char *buf, uint len);<P +></P +></DIV +><P +>Not yet implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3358" +>QTextIStream (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3360" +></A +><CODE +CLASS="FUNCDEF" +>QTextIStream</CODE +>(FILE *fp, int mode);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3368" +>QTextOStream (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3370" +></A +><CODE +CLASS="FUNCDEF" +>QTextOStream</CODE +>(FILE *fp, int mode);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3378" +>QTextView (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTextView</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3382" +>QThread (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QThread</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3386" +>QTimer</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTimer</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3390" +>QToolBar</A +></H3 +><P +><TT +CLASS="LITERAL" +>QToolBar</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3394" +>QToolBox (Qt v3.2.0+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QToolBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3398" +>QToolButton</A +></H3 +><P +><TT +CLASS="LITERAL" +>QToolButton</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3402" +>QToolTip</A +></H3 +><P +><TT +CLASS="LITERAL" +>QToolTip</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3406" +>QToolTipGroup</A +></H3 +><P +><TT +CLASS="LITERAL" +>QToolTipGroup</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3410" +>QTranslator (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTranslator</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3414" +>QTranslatorMessage (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTranslatorMessage</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3418" +>QUrl (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QUrl</TT +> is fully implemented, including the +<TT +CLASS="LITERAL" +>QString()</TT +>, <TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> +operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3425" +>QUrlInfo (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QUrlInfo</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3429" +>QUrlOperator (Qt v2.1+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3431" +></A +><CODE +CLASS="FUNCDEF" +>virtual bool isDir</CODE +>(bool *ok);<P +></P +></DIV +><P +>This returns a tuple of the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>ok</TT +> value.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3439" +>QUuid (Qt v3.0+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QUuid</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3443" +>QValidator</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3445" +></A +><CODE +CLASS="FUNCDEF" +>virtual State validate</CODE +>(QString& input, int& pos);<P +></P +></DIV +><P +>The returned value is a tuple of the <TT +CLASS="LITERAL" +>State</TT +> result and the +updated <TT +CLASS="LITERAL" +>pos</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3455" +>QDoubleValidator</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3457" +></A +><CODE +CLASS="FUNCDEF" +>State validate</CODE +>(QString& input, int& pos);<P +></P +></DIV +><P +>The returned value is a tuple of the <TT +CLASS="LITERAL" +>State</TT +> result and the +updated <TT +CLASS="LITERAL" +>pos</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3467" +>QIntValidator</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3469" +></A +><CODE +CLASS="FUNCDEF" +>State validate</CODE +>(QString& input, int& pos);<P +></P +></DIV +><P +>The returned value is a tuple of the <TT +CLASS="LITERAL" +>State</TT +> result and the +updated <TT +CLASS="LITERAL" +>pos</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3479" +>QRegExpValidator (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3481" +></A +><CODE +CLASS="FUNCDEF" +>virtual State validate</CODE +>(QString& input, int& pos);<P +></P +></DIV +><P +>The returned value is a tuple of the <TT +CLASS="LITERAL" +>State</TT +> result and the +updated <TT +CLASS="LITERAL" +>pos</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3491" +>QValueList<type> (Qt v2+)</A +></H3 +><P +>Types based on the <TT +CLASS="LITERAL" +>QValueList</TT +> template are automatically +converted to and from Python lists of the type.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3495" +>QVariant (Qt v2.1+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3497" +></A +><CODE +CLASS="FUNCDEF" +>QVariant</CODE +>(const char *val);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3503" +></A +><CODE +CLASS="FUNCDEF" +>QVariant</CODE +>(const QBitArray &val);<P +></P +></DIV +><P +>Not yet implemented. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3509" +></A +><CODE +CLASS="FUNCDEF" +>QVariant</CODE +>(const QValueList<QVariant> &val);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3515" +></A +><CODE +CLASS="FUNCDEF" +>QVariant</CODE +>(const QMap<QString,QVariant> &val);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3521" +></A +><CODE +CLASS="FUNCDEF" +>QBitArray &asBitArray</CODE +>();<P +></P +></DIV +><P +>Not yet implemented. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3526" +></A +><CODE +CLASS="FUNCDEF" +>bool &asBool</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3531" +></A +><CODE +CLASS="FUNCDEF" +>double &asDouble</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3536" +></A +><CODE +CLASS="FUNCDEF" +>int &asInt</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3541" +></A +><CODE +CLASS="FUNCDEF" +>QValueList<QVariant> &asList</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3546" +></A +><CODE +CLASS="FUNCDEF" +>QMap<QString,QVariant> &asMap</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3551" +></A +><CODE +CLASS="FUNCDEF" +>uint &asUInt</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3556" +></A +><CODE +CLASS="FUNCDEF" +>QValueListConstIterator<QVariant>listBegin const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3561" +></A +><CODE +CLASS="FUNCDEF" +>QValueListConstIterator<QVariant>listEnd const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3566" +></A +><CODE +CLASS="FUNCDEF" +>QMapConstIterator<QString,QVariant>mapBegin const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3571" +></A +><CODE +CLASS="FUNCDEF" +>QMapConstIterator<QString,QVariant>mapEnd const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3576" +></A +><CODE +CLASS="FUNCDEF" +>QMapConstIterator<QString,QVariant>mapFind const</CODE +>(const QString &key);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3582" +></A +><CODE +CLASS="FUNCDEF" +>QValueListConstIterator<QString>stringListBegin const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3587" +></A +><CODE +CLASS="FUNCDEF" +>QValueListConstIterator<QString>stringListEnd const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3592" +></A +><CODE +CLASS="FUNCDEF" +>const QBitArray toBitArray const</CODE +>();<P +></P +></DIV +><P +>Not yet implemented. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3597" +></A +><CODE +CLASS="FUNCDEF" +>const QValueList<QVariant>toList const</CODE +>();<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3602" +></A +><CODE +CLASS="FUNCDEF" +>const QMap<QString,QVariant>toMap const</CODE +>();<P +></P +></DIV +><P +>Not yet implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3607" +>QVBox (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QVBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3611" +>QVButtonGroup (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QVButtonGroup</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3615" +>QVGroupBox (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QVGroupBox</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3619" +>QWaitCondition (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWaitCondition</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3623" +>QWhatsThis</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWhatsThis</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3627" +>QWidget</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3629" +></A +><CODE +CLASS="FUNCDEF" +>QWExtra *extraData</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3634" +></A +><CODE +CLASS="FUNCDEF" +>QFocusData *focusData</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3639" +></A +><CODE +CLASS="FUNCDEF" +>void lower</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>lowerW</TT +> in Python.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3645" +></A +><CODE +CLASS="FUNCDEF" +>void raise</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>raiseW</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3651" +>QWidgetList</A +></H3 +><P +>This class isn't implemented. Whenever a <TT +CLASS="LITERAL" +>QWidgetList</TT +> is the +return type of a function or the type of an argument, a Python list of +instances is used instead.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3655" +>QWidgetStack</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWidgetStack</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3659" +>QWindow</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWindow</TT +> is fully implemented (Qt v1.x).</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3663" +>QWindowsStyle (Qt v2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3665" +></A +><CODE +CLASS="FUNCDEF" +>void getButtonShift</CODE +>(int &x, int &y);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the <TT +CLASS="LITERAL" +>x</TT +> and +<TT +CLASS="LITERAL" +>y</TT +> values. (Qt v2)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3675" +></A +><CODE +CLASS="FUNCDEF" +>void scrollBarMetrics</CODE +>(const QTabBar *sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>sb</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>sliderMin</TT +>, <TT +CLASS="LITERAL" +>sliderMax</TT +>, +<TT +CLASS="LITERAL" +>sliderLength</TT +> and <TT +CLASS="LITERAL" +>buttonDim</TT +> values. +(Qt v2)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3694" +></A +><CODE +CLASS="FUNCDEF" +>void tabbarMetrics</CODE +>(const QTabBar *t, int &hframe, int &vframe, int &overlap);<P +></P +></DIV +><P +>This takes only the <TT +CLASS="LITERAL" +>t</TT +> parameter and returns a tuple of the +<TT +CLASS="LITERAL" +>hframe</TT +>, <TT +CLASS="LITERAL" +>vframe</TT +> and +<TT +CLASS="LITERAL" +>overlap</TT +> values. (Qt v2)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3710" +>QWindowsXPStyle (Qt v3.0.1+, Windows)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWindowsXPStyle</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3714" +>QWizard (Qt v2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWizard</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3718" +>QWMatrix</A +></H3 +><P +>The Python <TT +CLASS="LITERAL" +>==</TT +>, <TT +CLASS="LITERAL" +>!=</TT +> and +<TT +CLASS="LITERAL" +>*=</TT +> operators are supported.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3724" +></A +><CODE +CLASS="FUNCDEF" +>QWMatrix invert const</CODE +>(bool *invertible = 0);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the <TT +CLASS="LITERAL" +>QWMatrix</TT +> +result and the <TT +CLASS="LITERAL" +>invertible</TT +> value.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3732" +></A +><CODE +CLASS="FUNCDEF" +>void map const</CODE +>(int x, int y, int *tx, int *ty);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>x</TT +> and <TT +CLASS="LITERAL" +>y</TT +> parameters and +returns a tuple containing the <TT +CLASS="LITERAL" +>tx</TT +> and <TT +CLASS="LITERAL" +>ty</TT +> +values.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3748" +></A +><CODE +CLASS="FUNCDEF" +>void map const</CODE +>(float x, float y, float *tx, float *ty);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>x</TT +> and <TT +CLASS="LITERAL" +>y</TT +> parameters and +returns a tuple containing the <TT +CLASS="LITERAL" +>tx</TT +> and <TT +CLASS="LITERAL" +>ty</TT +> +values. (Qt v1.x)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3764" +></A +><CODE +CLASS="FUNCDEF" +>void map const</CODE +>(double x, double y, double *tx, double *ty);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>x</TT +> and <TT +CLASS="LITERAL" +>y</TT +> parameters and +returns a tuple containing the <TT +CLASS="LITERAL" +>tx</TT +> and <TT +CLASS="LITERAL" +>ty</TT +> +values. (Qt v2+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3780" +>QWorkspace (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWorkspace</TT +> is fully implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN3784" +><TT +CLASS="LITERAL" +>qtaxcontainer</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN3787" +>QAxBase (Windows, Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3789" +></A +><CODE +CLASS="FUNCDEF" +>QAxObject</CODE +>(IUnknown *iface = 0);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3795" +></A +><CODE +CLASS="FUNCDEF" +>long queryInterface</CODE +>(const QUuid &uuid, void **iface);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3803" +></A +><CODE +CLASS="FUNCDEF" +>PropertyBag propertyBag const</CODE +>();<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3808" +></A +><CODE +CLASS="FUNCDEF" +>void setPropertyBag</CODE +>(const PropertyBag &bag);<P +></P +></DIV +><P +>Not implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3814" +></A +><CODE +CLASS="FUNCDEF" +>unsigned long registerWeakActiveObject</CODE +>(const QString &guid);<P +></P +></DIV +><P +>This is a utility method provided by PyQt to make it easier to use +Mark Hammond's <TT +CLASS="LITERAL" +>win32com</TT +> module to manipulate objects +created by the <TT +CLASS="LITERAL" +>qtaxcontainer</TT +> module.</P +><P +>The <TT +CLASS="LITERAL" +>RegisterActiveObject()</TT +> COM function is called to +register the <TT +CLASS="LITERAL" +>QAxBase</TT +> instance as a weak object with the +<TT +CLASS="LITERAL" +>guid</TT +> GUID. The revoke handle is returned.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3826" +></A +><CODE +CLASS="FUNCDEF" +>static void revokeActiveObject</CODE +>(unsigned long rhandle);<P +></P +></DIV +><P +>This is a wrapper around the <TT +CLASS="LITERAL" +>RevokeActiveObject()</TT +> COM +function and is called to revoke the object registered using +<TT +CLASS="LITERAL" +>registerWeakActiveObject()</TT +>. <TT +CLASS="LITERAL" +>rhandle</TT +> is +the revoke handle returned by <TT +CLASS="LITERAL" +>registerWeakActiveObject()</TT +>.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3836" +>QAxObject (Windows, Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3838" +></A +><CODE +CLASS="FUNCDEF" +>QAxObject</CODE +>(IUnknown *iface, QObject *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3848" +>QAxWidget (Windows, Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3850" +></A +><CODE +CLASS="FUNCDEF" +>QAxWidget</CODE +>(IUnknown *iface, QWidget *parent = 0, const char *name = 0);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN3860" +><TT +CLASS="LITERAL" +>qtcanvas</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN3863" +>QCanvas (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvas</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3867" +>QCanvasEllipse (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasEllipse</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3871" +>QCanvasItem (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3875" +>QCanvasItemList (Qt v2.2+)</A +></H3 +><P +>This class isn't implemented. Whenever a <TT +CLASS="LITERAL" +>QCanvasItemList</TT +> is +the return type of a function or the type of an argument, a Python list of +<TT +CLASS="LITERAL" +>QCanvasItem</TT +> instances is used instead.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3880" +>QCanvasLine (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasLine</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3884" +>QCanvasPixmap (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasPixmap</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3888" +>QCanvasPixmapArray (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3890" +></A +><CODE +CLASS="FUNCDEF" +>QPixmapArray</CODE +>(QList<QPixmap> pixmaps, QList<QPoint> hotspots);<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>pixmaps</TT +> argument is a Python list of QPixmap instances, +and the <TT +CLASS="LITERAL" +>hotspots</TT +> argument is a Python list of QPoint +instances. (Qt v2.2.0 - Qt v2.3.1)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3900" +></A +><CODE +CLASS="FUNCDEF" +>QPixmapArray</CODE +>(QValueList<QPixmap> pixmaps, QPointArray hotspots = QPointArray());<P +></P +></DIV +><P +>The <TT +CLASS="LITERAL" +>pixmaps</TT +> argument is a Python list of QPixmap instances. +(Qt v3+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3909" +>QCanvasPolygon (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasPolygon</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3913" +>QCanvasPolygonalItem (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasPolygonalItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3917" +>QCanvasRectangle (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasRectangle</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3921" +>QCanvasSpline (Qt v3.0+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasSpline</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3925" +>QCanvasSprite (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasSprite</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3929" +>QCanvasText (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasText</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3933" +>QCanvasView (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCanvasView</TT +> is fully implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN3937" +><TT +CLASS="LITERAL" +>qtext</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN3940" +>QextScintilla</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3942" +></A +><CODE +CLASS="FUNCDEF" +>void getCursorPosition</CODE +>(int *line, int *index);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the values returned by the +<TT +CLASS="LITERAL" +>line</TT +> and <TT +CLASS="LITERAL" +>index</TT +> pointers.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN3952" +></A +><CODE +CLASS="FUNCDEF" +>void getSelection</CODE +>(int *lineFrom, int *indexFrom, int *lineTo, int *indexTo);<P +></P +></DIV +><P +>This takes no parameters and returns a tuple of the values returned by the +<TT +CLASS="LITERAL" +>lineFrom</TT +>, <TT +CLASS="LITERAL" +>indexFrom</TT +>, +<TT +CLASS="LITERAL" +>lineTo</TT +> and <TT +CLASS="LITERAL" +>indexTo</TT +> pointers.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3968" +>QextScintillaAPIs</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaAPIs</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3972" +>QextScintillaBase</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaBase</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3976" +>QextScintillaCommand</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaCommand</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3980" +>QextScintillaCommandSet</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaCommandSet</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3984" +>QextScintillaDocument</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaDocument</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3988" +>QextScintillaLexer</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexer</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3992" +>QextScintillaLexerBash (QScintilla v1.4+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerBash</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN3996" +>QextScintillaLexerBatch (QScintilla v1.6+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerBatch</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4000" +>QextScintillaLexerCPP</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerCPP</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4004" +>QextScintillaLexerCSharp</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerCSharp</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4008" +>QextScintillaLexerCSS (QScintilla v1.6+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerCSS</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4012" +>QextScintillaLexerDiff (QScintilla v1.6+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerDiff</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4016" +>QextScintillaLexerHTML (QScintilla v1.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerHTML</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4020" +>QextScintillaLexerIDL</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerIDL</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4024" +>QextScintillaLexerJava</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerJava</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4028" +>QextScintillaLexerJavaScript</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerJavaScript</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4032" +>QextScintillaLexerLua (QScintilla v1.5+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerLua</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4036" +>QextScintillaLexerMakefile (QScintilla v1.6+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerMakefile</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4040" +>QextScintillaLexerPerl</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerPerl</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4044" +>QextScintillaLexerPOV (QScintilla v1.6+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerPOV</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4048" +>QextScintillaLexerProperties (QScintilla v1.6+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerProperties</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4052" +>QextScintillaLexerPython</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerPython</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4056" +>QextScintillaLexerRuby (QScintilla v1.5+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerRuby</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4060" +>QextScintillaLexerSQL (QScintilla v1.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerSQL</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4064" +>QextScintillaLexerTeX (QScintilla v1.6+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaLexerTeX</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4068" +>QextScintillaMacro</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaMacro</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4072" +>QextScintillaPrinter</A +></H3 +><P +><TT +CLASS="LITERAL" +>QextScintillaPrinter</TT +> is fully implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN4076" +><TT +CLASS="LITERAL" +>qtgl</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN4079" +>QGL</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGL</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4083" +>QGLContext</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGLContext</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4087" +>QGLFormat</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGLFormat</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4091" +>QGLWidget</A +></H3 +><P +><TT +CLASS="LITERAL" +>QGLWidget</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4095" +>QGLColormap (Qt v3.0+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4097" +></A +><CODE +CLASS="FUNCDEF" +>void setEntries</CODE +>(int count, const QRgb *colors, int base = 0);<P +></P +></DIV +><P +>Not yet implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN4107" +><TT +CLASS="LITERAL" +>qtnetwork</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN4110" +>QDns (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDns</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4114" +>QFtp (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4116" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG readBlock</CODE +>(char *data, Q_ULONG maxlen);<P +></P +></DIV +><P +>This takes a single <TT +CLASS="LITERAL" +>maxlen</TT +> parameter. The +<TT +CLASS="LITERAL" +>data</TT +> is returned if there was no error, otherwise +<TT +CLASS="LITERAL" +>None</TT +> is returned.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4127" +>QHostAddress (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4129" +></A +><CODE +CLASS="FUNCDEF" +>QHostAddress</CODE +>(Q_UINT8 *ip6Addr);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4135" +></A +><CODE +CLASS="FUNCDEF" +>QHostAddress</CODE +>(const Q_IPV6ADDR &ip6Addr);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4141" +></A +><CODE +CLASS="FUNCDEF" +>void setAddress</CODE +>(Q_UINT8 *ip6Addr);<P +></P +></DIV +><P +>Not yet implemented.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4147" +></A +><CODE +CLASS="FUNCDEF" +>Q_IPV6ADDR toIPv6Address const</CODE +>();<P +></P +></DIV +><P +>Not yet implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4153" +>QHttp (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4155" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG readBlock</CODE +>(char *data, Q_ULONG maxlen);<P +></P +></DIV +><P +>This takes a single <TT +CLASS="LITERAL" +>maxlen</TT +> parameter. The +<TT +CLASS="LITERAL" +>data</TT +> is returned if there was no error, otherwise +<TT +CLASS="LITERAL" +>None</TT +> is returned.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4166" +>QHttpHeader (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHttpHeader</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4170" +>QHttpRequestHeader (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHttpRequestHeader</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4174" +>QHttpResponseHeader (Qt v3.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QHttpResponseHeader</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4178" +>QLocalFs (Qt v2.1+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QLocalFs</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4182" +>QServerSocket (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QServerSocket</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4186" +>QSocket (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4188" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG readBlock</CODE +>(char *data, Q_ULONG len);<P +></P +></DIV +><P +>This takes a single <TT +CLASS="LITERAL" +>len</TT +> parameter. The +<TT +CLASS="LITERAL" +>data</TT +> is returned if there was no error, otherwise +<TT +CLASS="LITERAL" +>Py_None</TT +> is returned.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4199" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG readLine</CODE +>(char *data, Q_ULONG maxlen);<P +></P +></DIV +><P +>This takes a single <TT +CLASS="LITERAL" +>maxlen</TT +> parameter. The +<TT +CLASS="LITERAL" +>data</TT +> is returned if there was no error, otherwise +<TT +CLASS="LITERAL" +>Py_None</TT +> is returned.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4210" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG writeBlock</CODE +>(const char *data, Q_ULONG len);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>len</TT +> is derived from <TT +CLASS="LITERAL" +>data</TT +> and not passed +as a parameter.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4220" +>QSocketDevice (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4222" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG readBlock</CODE +>(char *data, Q_ULONG len);<P +></P +></DIV +><P +>This takes a single <TT +CLASS="LITERAL" +>len</TT +> parameter. The +<TT +CLASS="LITERAL" +>data</TT +> is returned if there was no error, otherwise +<TT +CLASS="LITERAL" +>None</TT +> is returned.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4233" +></A +><CODE +CLASS="FUNCDEF" +>Q_LONG writeBlock</CODE +>(const char *data, Q_ULONG len);<P +></P +></DIV +><P +><TT +CLASS="LITERAL" +>len</TT +> is derived from <TT +CLASS="LITERAL" +>data</TT +> and not passed +as a parameter.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN4243" +><TT +CLASS="LITERAL" +>qtpe</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN4246" +>QPEApplication</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4248" +></A +><CODE +CLASS="FUNCDEF" +>QApplication</CODE +>(int& argc, char **argv, Type type);<P +></P +></DIV +><P +>This takes two parameters, the first of which is a list of argument strings. +Arguments used by Qt are removed from the list.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4258" +></A +><CODE +CLASS="FUNCDEF" +>int exec</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>exec_loop</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4264" +>AppLnk</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4266" +></A +><CODE +CLASS="FUNCDEF" +>virtual QString exec const</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>exec_property</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4272" +>AppLnkSet</A +></H3 +><P +><TT +CLASS="LITERAL" +>AppLnkSet</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4276" +>Config</A +></H3 +><P +><TT +CLASS="LITERAL" +>Config</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4280" +>DateFormat</A +></H3 +><P +><TT +CLASS="LITERAL" +>DateFormat</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4284" +>DocLnk</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4286" +></A +><CODE +CLASS="FUNCDEF" +>QString exec const</CODE +>();<P +></P +></DIV +><P +>This has been renamed to <TT +CLASS="LITERAL" +>exec_property</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4292" +>DocLnkSet</A +></H3 +><P +><TT +CLASS="LITERAL" +>DocLnkSet</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4296" +>FileManager</A +></H3 +><P +><TT +CLASS="LITERAL" +>FileManager</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4300" +>FileSelector</A +></H3 +><P +><TT +CLASS="LITERAL" +>FileSelector</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4304" +>FileSelectorItem</A +></H3 +><P +><TT +CLASS="LITERAL" +>FileSelectorItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4308" +>FontDatabase</A +></H3 +><P +><TT +CLASS="LITERAL" +>FontDatabase</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4312" +>Global</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4314" +></A +><CODE +CLASS="FUNCDEF" +>static void setBuiltinCommands</CODE +>(Command *);<P +></P +></DIV +><P +>Not implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4319" +>MenuButton</A +></H3 +><P +><TT +CLASS="LITERAL" +>MenuButton</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4323" +>QCopEnvelope</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCopEnvelope</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4327" +>QDawg</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDawg</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4331" +>QPEMenuBar</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPEMenuBar</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4335" +>QPEToolBar</A +></H3 +><P +><TT +CLASS="LITERAL" +>QPEToolBar</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4339" +>Resource</A +></H3 +><P +><TT +CLASS="LITERAL" +>Resource</TT +> is fully implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN4343" +><TT +CLASS="LITERAL" +>qtsql</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN4346" +>QDataBrowser (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4348" +></A +><CODE +CLASS="FUNCDEF" +>virtual void del</CODE +>();<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>delOnCursor</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4354" +>QDataTable (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDataTable</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4358" +>QDataView (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDataView</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4362" +>QEditorFactory (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QEditorFactory</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4366" +>QSql (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSql</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4370" +>QSqlCursor (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4372" +></A +><CODE +CLASS="FUNCDEF" +>virtual int del</CODE +>(bool invalidate = TRUE);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>delRecords</TT +> in Python.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4379" +></A +><CODE +CLASS="FUNCDEF" +>virtual int del</CODE +>(const QString &filter, bool invalidate = TRUE);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>delRecords</TT +> in Python.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4388" +></A +><CODE +CLASS="FUNCDEF" +>bool exec</CODE +>(const QString &query);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>execQuery</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4395" +>QSqlDatabase (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4397" +></A +><CODE +CLASS="FUNCDEF" +>QSqlQuery exec</CODE +>(const QString &query = QString::null);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>execStatement</TT +> in Python.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4404" +>QSqlDriver (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlDriver</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4408" +>QSqlEditorFactory (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlEditorFactory</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4412" +>QSqlError (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlError</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4416" +>QSqlField (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlField</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4420" +>QSqlFieldInfo (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlFieldInfo</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4424" +>QSqlForm (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlForm</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4428" +>QSqlIndex (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlIndex</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4432" +>QSqlPropertyMap (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlPropertyMap</TT +> is fully implemented. However, because PyQt +does not allow new properties to be defined, it is not possible to implement +custom editor widgets in Python and add them to a property map. This will +simple be ignored.</P +><P +>This problem may be addressed in a future release of PyQt.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4437" +>QSqlQuery (Qt v3+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4439" +></A +><CODE +CLASS="FUNCDEF" +>QMap<QString,QVariant> boundValues const</CODE +>();<P +></P +></DIV +><P +>Not yet implemented. (Qt v3.2.0+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4444" +></A +><CODE +CLASS="FUNCDEF" +>virtual bool exec</CODE +>(const QString &query);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>execQuery</TT +> in Python.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4451" +></A +><CODE +CLASS="FUNCDEF" +>bool exec</CODE +>();<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>execQuery</TT +> in Python. (Qt v3.1+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4457" +>QSqlRecord (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlRecord</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4461" +>QSqlRecordInfo (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlRecordInfo</TT +> is implemented as a Python list of +<TT +CLASS="LITERAL" +>QSqlFieldInfo</TT +> instances.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4466" +>QSqlResult (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QSqlResult</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4470" +>QSqlSelectCursor (Qt v3.2.0+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4472" +></A +><CODE +CLASS="FUNCDEF" +>int del</CODE +>(bool invalidate = TRUE);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>delRecords</TT +> in Python.</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4479" +></A +><CODE +CLASS="FUNCDEF" +>bool exec</CODE +>(const QString &query);<P +></P +></DIV +><P +>This has been renamed <TT +CLASS="LITERAL" +>execQuery</TT +> in Python.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN4486" +><TT +CLASS="LITERAL" +>qttable</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN4489" +>QTable (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTable</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4493" +>QTableItem (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTableItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4497" +>QCheckTableItem (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QCheckTableItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4501" +>QComboTableItem (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QComboTableItem</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4505" +>QTableSelection (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QTableSelection</TT +> is fully implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN4509" +><TT +CLASS="LITERAL" +>qtui</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN4512" +>QWidgetFactory (Qt v3+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QWidgetFactory</TT +> is fully implemented.</P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN4516" +><TT +CLASS="LITERAL" +>qtxml</TT +> Module Reference</A +></H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN4519" +>QDomImplementation (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomImplementation</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4523" +>QDomNode (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomNode</TT +> is fully implemented, including the Python +<TT +CLASS="LITERAL" +>==</TT +> and <TT +CLASS="LITERAL" +>!=</TT +> operators.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4529" +>QDomNodeList (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomNodeList</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4533" +>QDomDocument (Qt v2.2+)</A +></H3 +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4535" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QCString &buffer, bool namespaceProcessing, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>buffer</TT +> and +<TT +CLASS="LITERAL" +>namespaceProcessing</TT +> parameters and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4555" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QByteArray &buffer, bool namespaceProcessing, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>buffer</TT +> and +<TT +CLASS="LITERAL" +>namespaceProcessing</TT +> parameters and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4575" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QString &text, bool namespaceProcessing, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>text</TT +> and +<TT +CLASS="LITERAL" +>namespaceProcessing</TT +> parameters and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4595" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QIODevice *dev, bool namespaceProcessing, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>dev</TT +> and +<TT +CLASS="LITERAL" +>namespaceProcessing</TT +> parameters and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4615" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QCString &buffer, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>buffer</TT +> parameter only and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4632" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QByteArray &buffer, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>buffer</TT +> parameter only and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4649" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QString &text, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>text</TT +> parameter only and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4666" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(const QIODevice *dev, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>This takes the <TT +CLASS="LITERAL" +>dev</TT +> parameter only and returns a tuple +containing the <TT +CLASS="LITERAL" +>bool</TT +> result and the +<TT +CLASS="LITERAL" +>errorMsg</TT +>, <TT +CLASS="LITERAL" +>errorLine</TT +> and +<TT +CLASS="LITERAL" +>errorColumn</TT +> values. (Qt v3+)</P +><DIV +CLASS="FUNCSYNOPSIS" +><P +></P +><A +NAME="AEN4683" +></A +><CODE +CLASS="FUNCDEF" +>bool setContent</CODE +>(QXmlInputSource *source, QXmlReader *reader, QString *errorMsg = 0, int *errorLine = 0, int *errorColumn = 0);<P +></P +></DIV +><P +>Not yet implemented. (Qt v3.2.0+)</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4697" +>QDomDocumentFragment (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomDocumentFragment</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4701" +>QDomDocumentType (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomDocumentType</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4705" +>QDomNamedNodeMap (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomNamedNodeMap</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4709" +>QDomCharacterData (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomCharacterData</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4713" +>QDomAttr (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomAttr</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4717" +>QDomElement (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomElement</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4721" +>QDomText (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomText</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4725" +>QDomComment (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomComment</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4729" +>QDomCDATASection (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomCDATASection</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4733" +>QDomNotation (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomNotation</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4737" +>QDomEntity (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomEntity</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4741" +>QDomEntityReference (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomEntityReference</TT +> is fully implemented.</P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN4745" +>QDomProcessingInstruction (Qt v2.2+)</A +></H3 +><P +><TT +CLASS="LITERAL" +>QDomProcessingInstruction</TT +> is fully implemented.</P +></DIV +></DIV +></DIV +></BODY +></HTML +> diff --git a/doc/PyQt.sgml b/doc/PyQt.sgml new file mode 100644 index 0000000..253db19 --- /dev/null +++ b/doc/PyQt.sgml @@ -0,0 +1,5807 @@ +<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"> +<Article> +<ArtHeader> + <Title>Python Bindings for Qt (3.18.1)</Title> + <Author> + <FirstName>Phil</FirstName> + <Surname>Thompson</Surname> + </Author> + <Abstract> + <Para> + This document describes a set of Python bindings for the Qt widget set. + Contact the author at <Email>phil@riverbankcomputing.co.uk</Email>. + </Para> + </Abstract> +</ArtHeader> + + +<Sect1><Title>Introduction</Title> +<Para> +PyQt is a set of Python bindings for the Qt toolkit and available for all +platforms supported by Qt, including Windows, Linux, UNIX, MacOS/X and embedded +systems such as the Sharp Zaurus and the Compaq iPAQ. They have been tested +against Qt versions 1.43 to 3.3.6, Qt Non-commercial, Qtopia 1.5.0, and Python +versions 1.5 to 2.4.2. Qt/Embedded v3 is not supported. Qt v4 is supported +by PyQt v4. +</Para> + +<Para> +PyQt is available under the GPL license for use with the GPL version of Qt, a +a commercial license for use with the commercial version of Qt, a +non-commercial license for use with the non-commercial version of Qt v2, and an +educational license for use with the educational version of Qt. +</Para> + +<Para> +There is also an evaluation version of PyQt for Windows. This must be used +with the corresponding evaluation version of Qt. +</Para> + +<Para> +PyQt is built using SIP (a tool for generating Python extension modules for +C++ class libraries). SIP v4.6 or later must be installed in order to build +and run this version of PyQt. +</Para> + +<Para> +PyQt for MacOS/X requires Qt v3.1.0 or later and Python v2.3 or later. +</Para> + +<Para> +The bindings are implemented as a number of Python modules +</Para> + +<ItemizedList> +<ListItem> +<Para> +<Literal>qt</Literal> is the main module and contains the core classes and most +user interface widgets. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtaxcontainer</Literal> contains a sub-set of the classes implemented +in Qt's QAxContainer module, part of Qt's ActiveQt framework. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtcanvas</Literal> contains the classes implemented in Qt's Canvas +module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtgl</Literal> contains the classes implemented in Qt's OpenGL module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtnetwork</Literal> contains the classes implemented in Qt's Network +module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtpe</Literal> contains the classes implemented in Qtopia (originally +called the Qt Palmtop Environment). It is only supported with Qt/Embedded. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtsql</Literal> contains the classes implemented in Qt's SQL module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qttable</Literal> contains the classes implemented in Qt's Table +module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtui</Literal> contains the classes implemented in Qt's qui library. +These allow GUIs to be created directly from Qt Designer's +<Literal>.ui</Literal> files. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtxml</Literal> contains the classes implemented in Qt's XML module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtext</Literal> contains useful third-party classes that are not part +of Qt. At the moment it contains bindings for QScintilla, the port to Qt of +the Scintilla programmer's editor class. +</Para> +</ListItem> +</ItemizedList> + +<Para> +PyQt also includes the <Literal>pyuic</Literal> and +<Literal>pylupdate</Literal> utilities which correspond to the Qt +<Literal>uic</Literal> and <Literal>lupdate</Literal> utilities. +<Literal>pyuic</Literal> converts the GUI designs created with Qt Designer to +executable Python code. <Literal>pylupdate</Literal> scans Python code, +extracts all strings that are candidates for internationalisation, and creates +an XML file for use by Qt Linguist. +</Para> + +<Sect2><Title>Changes</Title> +<Para> +The changes visible to the Python programmer in this release are as follows. +</Para> +<ItemizedList> + +<ListItem> +<Para> +This version requires SIP v4.4 (or later). +</Para> +</ListItem> + +<ListItem> +<Para> +Concatenating Python strings and <Literal>QString</Literal>s is now supported. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QString</Literal> now supports the <Literal>*</Literal> and +<Literal>*=</Literal> operators that behave as they do for Python strings. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QString</Literal> is more interoperable with Python string and unicode +objects. For example they can be passed as arguments to +<Literal>open()</Literal> and to most (but not all) string methods. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QPopupMenu</Literal> (and sub-classes) instances now transfer +ownership of the menu to Python in the call to <Literal>exec_loop()</Literal>. +This means the menu's resources are all released when the Python wrapper is +garbage collected without needing to call +<Literal>QObject.deleteLater()</Literal>. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QObject.sender()</Literal> now handles Python signals. +</Para> +</ListItem> + +<ListItem> +<Para> +The missing <Literal>MacintoshVersion</Literal> enum has been added. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>PYQT_BUILD</Literal> has been removed. +</Para> +</ListItem> + +<ListItem> +<Para> +The convention for converting between a C/C++ null pointer and Python's +<Literal>None</Literal> object has now been universally applied. In previous +versions a null pointer to, for example, a Qt list container would often be +converted to an empty list rather than <Literal>None</Literal>. +</Para> +</ListItem> + +</ItemizedList> +</Sect2> +</Sect1> + + +<Sect1><Title>Other PyQt Goodies</Title> +<Sect2><Title>Using Qt Designer</Title> +<Para> +Qt Designer is a GPL'ed GUI design editor provided by Trolltech as part of Qt. +It generates an XML description of a GUI design. Qt includes +<Literal>uic</Literal> which generates C++ code from that XML. +</Para> + +<Para> +PyQt includes <Literal>pyuic</Literal> which generates Python code from the +same XML. The Python code is self contained and can be executed immediately. +</Para> + +<Para> +It is sometimes useful to be able to include some specific Python code in the +output generated by <Literal>pyuic</Literal>. For example, if you are using +custom widgets, <Literal>pyuic</Literal> has no way of knowing the name of the +Python module containing the widget and so cannot generate the required +<Literal>import</Literal> statement. To help get around this, +<Literal>pyuic</Literal> will extract any lines entered in the +<Literal>Comment</Literal> field of Qt Designer's +<Literal>Form Settings</Literal> dialog that begin with +<Literal>Python:</Literal> and copies them to the generated output. +</Para> + +<Para> +Here's a simple example showing the contents of the <Literal>Comment</Literal> +field. +</Para> + +<ProgramListing> +This comment will be ignored by pyuic. +Python: +Python:# Import our custom widget. +Python:from foo import bar +</ProgramListing> + +<Para> +Here's the corresponding output from <Literal>pyuic</Literal>. +</Para> + +<ProgramListing> +from qt import * + +# Import our custom widget. +from foo import bar +</ProgramListing> + +<Para> +Thanks to Christian Bird, <Literal>pyuic</Literal> will extract Python code +entered using Qt Designer to implement slots. In Qt Designer, when you need to +edit a slot and the source editor appears, enter Python code between the curly +braces. Don't worry about the correct starting indent level, each line is +prepended with a correct indentation. +</Para> + +<Para> +Make sure that the <Literal>ui.h</Literal> file is in the same directory as the +<Literal>.ui</Literal> file when using <Literal>pyuic</Literal>. The +<Literal>.ui</Literal> file implies the name of the <Literal>.ui.h</Literal> +file so there is no need to specify it on the command line. +</Para> + +<Para> +Here's an example of a simple slot. +</Para> + +<ProgramListing> +void DebMainWindowFrm::browsePushButtonClicked() +{ +if self.debugging: + QMessageBox.critical(self, "Event", "browse pushbutton was clicked!") +} +</ProgramListing> + +<Para> +Here is the resulting code when <Literal>pyuic</Literal> is run. +</Para> + +<ProgramListing> +class DebMainWindowFrm(QMainWindow): + ...stuff... + def browsePushButtonClicked(self): + if self.debugging: + QMessageBox.critical(self, "Event", "browse pushbutton was clicked!") +</ProgramListing> + +<Para> +Note that indenting is as normal and that <Literal>self</Literal> and all other +parameters passed to the slot are available. +</Para> + +<Para> +If you use this, you will need to turn off all of the fancy options for the C++ +editor in Designer as it tries to force C++ syntax and that's naturally +annoying when trying to code in Python. +</Para> +</Sect2> + +<Sect2><Title>Using Qt Linguist</Title> +<Para> +Qt includes the <Literal>lupdate</Literal> program which parses C++ source +files converting calls to the <Literal>QT_TR_NOOP()</Literal> and +<Literal>QT_TRANSLATE_NOOP()</Literal> macros to <Literal>.ts</Literal> +language source files. The <Literal>lrelease</Literal> program is then used to +generate <Literal>.qm</Literal> binary language files that are distributed with +your application. +</Para> + +<Para> +Thanks to Detlev Offenbach, PyQt includes the <Literal>pylupdate</Literal> +program. This generates the same <Literal>.ts</Literal> language source files +from your PyQt source files. +</Para> +</Sect2> +</Sect1> + + +<Sect1><Title>Deploying Commercial PyQt Applications</Title> +<Para> +When deploying commercial PyQt applications it is necessary to discourage users +from accessing the underlying PyQt modules for themselves. A user that used +the modules shipped with your application to develop new applications would +themselves be considered a developer and would need their own commercial Qt and +PyQt licenses. +</Para> + +<Para> +One solution to this problem is the +<ULink url="http://www.riverbankcomputing.co.uk/vendorid/">VendorID</ULink> +package. This allows you to build Python extension modules that can only be +imported by a digitally signed custom interpreter. The package enables you to +create such an interpreter with your application embedded within it. The +result is an interpreter that can only run your application, and PyQt modules +that can only be imported by that interpreter. You can use the package to +similarly restrict access to any extension module. +</Para> + +<Para> +In order to build PyQt with support for the VendorID package, pass the +<Literal>-i</Literal> command line flag to <Literal>configure.py</Literal>. +</Para> +</Sect1> + +<Sect1><Title><Literal>pyqtconfig</Literal> and Build System Support</Title> +<Para> +The SIP build system (ie. the <Literal>sipconfig</Literal> module) is described +in the SIP documentation. PyQt includes the <Literal>pyqtconfig</Literal> +module that can be used by configuration scripts of other bindings that are +built on top of PyQt. +</Para> + +<Para> +The <Literal>pyqtconfig</Literal> module contains the following classes: +</Para> + +<VariableList> +<VarListEntry> +<Term><Literal>Configuration(sipconfig.Configuration)</Literal></Term> +<ListItem> +<Para> +This class encapsulates additional configuration values, specific to PyQt, that +can be accessed as instance variables. +</Para> + +<Para> +The following configuration values are provided (in addition to those provided +by the <Literal>sipconfig.Configuration</Literal> class): +</Para> +<VariableList> + +<VarListEntry> +<Term><Literal>pyqt_bin_dir</Literal></Term> +<ListItem> +<Para> +The name of the directory containing the <Literal>pyuic</Literal> and +<Literal>pylupdate</Literal> executables. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_config_args</Literal></Term> +<ListItem> +<Para> +The command line passed to <Literal>configure.py</Literal> when PyQt was +configured. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_mod_dir</Literal></Term> +<ListItem> +<Para> +The name of the directory containing the PyQt modules. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_modules</Literal></Term> +<ListItem> +<Para> +A string containing the names of the PyQt modules that were installed. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qt_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qt</Literal> module and which should be added to those needed by any +module that imports the <Literal>qt</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtaxcontainer_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtaxcontainer</Literal> module and which should be added to those +needed by any module that imports the <Literal>qtaxcontainer</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtcanvas_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtcanvas</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtcanvas</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtext_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtext</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtext</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtgl_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtgl</Literal> module and which should be added to those needed by any +module that imports the <Literal>qtgl</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtnetwork_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtnetwork</Literal> module and which should be added to those needed +by any module that imports the <Literal>qtnetwork</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtsql_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtsql</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtsql</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qttable_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qttable</Literal> module and which should be added to those needed by +any module that imports the <Literal>qttable</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtui_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtui</Literal> module and which should be added to those needed by any +module that imports the <Literal>qtui</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtxml_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtxml</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtxml</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_sip_dir</Literal></Term> +<ListItem> +<Para> +The name of the base directory where the <Literal>.sip</Literal> files for each +of the PyQt modules is installed. A sub-directory exists with the same name as +the module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_version</Literal></Term> +<ListItem> +<Para> +The PyQt version as a 3 part hexadecimal number (eg. v3.10 is represented as +<Literal>0x030a00</Literal>). +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_version_str</Literal></Term> +<ListItem> +<Para> +The PyQt version as a string. For development snapshots it will start with +<Literal>snapshot-</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtModuleMakefile(sipconfig.SIPModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qt</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtAxContainerModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtaxcontainer</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtCanvasModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtcanvas</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtExtModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtext</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtGLModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtgl</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtNetworkModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtnetwork</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtTableModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qttable</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtSQLModuleMakefile(QtTableModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtsql</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtUIModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtui</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtXMLModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtxml</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +</VariableList> +</Sect1> +<Sect1><Title>Things to be Aware Of</Title> +<Sect2><Title>super and Wrapped Classes</Title> +<Para> +Internally PyQt implements a lazy technique for attribute lookup where +attributes are only placed in type and instance dictionaries when they are +first referenced. This technique is needed to reduce the time taken to import +large modules such as PyQt. +</Para> + +<Para> +In most circumstances this technique is transparent to an application. The +exception is when <Literal>super</Literal> is used with a PyQt class. The way +that <Literal>super</Literal> is currently implemented means that the lazy +lookup is bypassed resulting in <Literal>AttributeError</Literal> exceptions +unless the attribute has been previously referenced. +</Para> + +<Para> +Note that this restriction applies to any class wrapped by SIP and not just +PyQt. +</Para> +</Sect2> + + +<Sect2><Title>Python Strings, Qt Strings and Unicode</Title> +<Para> +Unicode support was added to Qt in v2.0 and to Python in v1.6. In Qt, Unicode +support is implemented using the <Literal>QString</Literal> class. It is +important to understand that <Literal>QString</Literal>s, Python string objects +and Python Unicode objects are all different but conversions between them are +automatic in almost all cases and easy to achieve manually when needed. +</Para> + +<Para> +Whenever PyQt expects a <Literal>QString</Literal> as a function argument, a +Python string object or a Python Unicode object can be provided instead, and +PyQt will do the necessary conversion automatically. +</Para> + +<Para> +You may also manually convert Python string and Unicode objects to +<Literal>QString</Literal>s by using the <Literal>QString</Literal> constructor +as demonstrated in the following code fragment. +</Para> + +<ProgramListing> +qs1 = QString('Converted Python string object') +qs2 = QString(u'Converted Python Unicode object') +</ProgramListing> + +<Para> +In order to convert a <Literal>QString</Literal> to a Python string object use +the Python <Literal>str()</Literal> function. Applying +<Literal>str()</Literal> to a null <Literal>QString</Literal> and an empty +<Literal>QString</Literal> both result in an empty Python string object. +</Para> + +<Para> +In order to convert a <Literal>QString</Literal> to a Python Unicode object use +the Python <Literal>unicode()</Literal> function. Applying +<Literal>unicode()</Literal> to a null <Literal>QString</Literal> and an empty +<Literal>QString</Literal> both result in an empty Python Unicode object. +</Para> +</Sect2> + +<Sect2><Title>Access to Protected Member Functions</Title> +<Para> +When an instance of a C++ class is not created from Python it is not possible +to access the protected member functions, or emit the signals, of that +instance. Attempts to do so will raise a Python exception. Also, any Python +methods corresponding to the instance's virtual member functions will never be +called. +</Para> +</Sect2> + +<Sect2><Title><Literal>None</Literal> and <Literal>NULL</Literal></Title> +<Para> +Throughout the bindings, the <Literal>None</Literal> value can be specified +wherever <Literal>NULL</Literal> is acceptable to the underlying C++ code. +</Para> + +<Para> +Equally, <Literal>NULL</Literal> is converted to <Literal>None</Literal> +whenever it is returned by the underlying C++ code. +</Para> +</Sect2> + + +<Sect2><Title>Support for C++ <Literal>void *</Literal> Data Types</Title> +<Para> +PyQt represents <Literal>void *</Literal> values as objects of type +<Literal>sip.voidptr</Literal>. Such values are often used to pass the +addresses of external objects between different Python modules. To make this +easier, a Python integer (or anything that Python can convert to an integer) +can be used whenever a <Literal>sip.voidptr</Literal> is expected. +</Para> +<Para> +A <Literal>sip.voidptr</Literal> may be converted to a Python integer by using +the <Literal>int()</Literal> builtin function. +</Para> +<Para> +A <Literal>sip.voidptr</Literal> may be converted to a Python string by using +its <Literal>asstring()</Literal> method. The <Literal>asstring()</Literal> +method takes an integer argument which is the length of the data in bytes. +</Para> +</Sect2> + + +<Sect2><Title>Support for Threads</Title> +<Para> +PyQt implements the full set of Qt's thread classes. Python, of course, also +has its own thread extension modules. If you are using SIP v4 (or later) and +Python v2.3.5 (or later) then PyQt does not impose any additional restrictions. +(Read the relevant part of the Qt documentation to understand the restrictions +imposed by the Qt API.) +</Para> +<Para> +If you are using earlier versions of either SIP or Python then it is possible +to use either of the APIs so long as you follow some simple rules. +</Para> +<ItemizedList> +<ListItem> +<Para> +If you use the Qt API then the very first <Literal>import</Literal> of one of +the PyQt modules must be done from the main thread. +</Para> +</ListItem> +<ListItem> +<Para> +If you use the Python API then all calls to PyQt (including any +<Literal>import</Literal>s) must be done from one thread only. Therefore, if +you want to make calls to PyQt from several threads then you must use the Qt +API. +</Para> +</ListItem> +<ListItem> +<Para> +If you want to use both APIs in the same application then all calls to PyQt +must be done from threads created using the Qt API. +</Para> +</ListItem> +</ItemizedList> +<Para> +The above comments actually apply to any SIP generated module, not just PyQt. +</Para> +</Sect2> + +<Sect2><Title>Garbage Collection</Title> +<Para> +C++ does not garbage collect unreferenced class instances, whereas Python does. +In the following C++ fragment both colours exist even though the first can no +longer be referenced from within the program: +</Para> + +<ProgramListing> +c = new QColor(); +c = new QColor(); +</ProgramListing> + +<Para> +In the corresponding Python fragment, the first colour is destroyed when +the second is assigned to <Literal>c</Literal>: +</Para> + +<ProgramListing> +c = QColor() +c = QColor() +</ProgramListing> + +<Para> +In Python, each colour must be assigned to different names. Typically this +is done within class definitions, so the code fragment would be something like: +</Para> + +<ProgramListing> +self.c1 = QColor() +self.c2 = QColor() +</ProgramListing> + +<Para> +Sometimes a Qt class instance will maintain a pointer to another instance and +will eventually call the destructor of that second instance. The most common +example is that a <Literal>QObject</Literal> (and any of its sub-classes) keeps +pointers to its children and will automatically call their destructors. In +these cases, the corresponding Python object will also keep a reference to the +corresponding child objects. +</Para> + +<Para> +So, in the following Python fragment, the first <Literal>QLabel</Literal> is +not destroyed when the second is assigned to <Literal>l</Literal> because the +parent <Literal>QWidget</Literal> still has a reference to it. +</Para> + +<ProgramListing> +p = QWidget() +l = QLabel('First label',p) +l = QLabel('Second label',p) +</ProgramListing> +</Sect2> + +<Sect2><Title>C++ Variables</Title> +<Para> +Access to C++ variables is supported. They are accessed as Python instance +variables. For example: +</Para> + +<ProgramListing> +tab = QTab() +tab.label = "First Tab" +tab.r = QRect(10,10,75,30) +</ProgramListing> + +<Para> +Global variables and static class variables are effectively read-only. They +can be assigned to, but the underlying C++ variable will not be changed. This +may change in the future. +</Para> + +<Para> +Access to protected C++ class variables is not supported. This may change in +the future. +</Para> +</Sect2> + +<Sect2><Title>Multiple Inheritance</Title> +<Para> +It is not possible to define a new Python class that sub-classes from more than +one Qt class. +</Para> +</Sect2> + +<Sect2><Title>i18n Support</Title> +<Para> +Qt implements i18n support through the Qt Linguist application, the +<Literal>QTranslator</Literal> class, and the +<Literal>QApplication::translate()</Literal>, <Literal>QObject::tr()</Literal> +and <Literal>QObject::trUtf8()</Literal> methods. Usually the +<Literal>tr()</Literal> method is used to obtain the correct translation of a +message. The translation process uses a message context to allow the same +message to be translated differently. <Literal>tr()</Literal> is actually +generated by <Literal>moc</Literal> and uses the hardcoded class name as the +context. On the other hand, <Literal>QApplication::translate()</Literal> +allows to context to be explicitly stated. +</Para> + +<Para> +Unfortunately, because of the way Qt implents <Literal>tr()</Literal> (and +<Literal>trUtf8()</Literal>) it is not possible for PyQt to exactly reproduce +its behavour. The PyQt implementation of <Literal>tr()</Literal> (and +<Literal>trUtf8()</Literal>) uses the class name of the instance as the +context. The key difference, and the source of potential problems, is that the +context is determined dynamically in PyQt, but is hardcoded in Qt. In other +words, the context of a translation may change depending on an instance's class +hierarchy. +</Para> + +<ProgramListing> +class A(QObject): + def __init__(self): + QObject.__init__(self) + + def hello(self): + return self.tr("Hello") + +class B(A): + def __init__(self): + A.__init__(self) + +a = A() +a.hello() + +b = B() +b.hello() +</ProgramListing> + +<Para> +In the above the message is translated by <Literal>a.hello()</Literal> using a +context of <Literal>A</Literal>, and by <Literal>b.hello()</Literal> using a +context of <Literal>B</Literal>. In the equivalent C++ version the context +would be <Literal>A</Literal> in both cases. +</Para> + +<Para> +The PyQt behaviour is unsatisfactory and may be changed in the future. It is +recommended that <Literal>QApplication.translate()</Literal> be used in +preference to <Literal>tr()</Literal> (and <Literal>trUtf8()</Literal>). This +is guaranteed to work with current and future versions of PyQt and makes it +much easier to share message files between Python and C++ code. Below is the +alternative implementation of <Literal>A</Literal> that uses +<Literal>QApplication.translate()</Literal>. +</Para> + +<ProgramListing> +class A(QObject): + def __init__(self): + QObject.__init__(self) + + def hello(self): + return qApp.translate("A","Hello") +</ProgramListing> + +<Para> +Note that the code generated by <Literal>pyuic</Literal> uses +<Literal>QApplication.translate()</Literal>. +</Para> +</Sect2> +</Sect1> + + +<Sect1><Title>Signal and Slot Support</Title> +<Para> +A signal may be either a Qt signal (specified using +<Literal>SIGNAL()</Literal>) or a Python signal (specified using +<Literal>PYSIGNAL()</Literal>). +</Para> + +<Para> +A slot can be either a Python callable object, a Qt signal (specified using +<Literal>SIGNAL()</Literal>), a Python signal (specified using +<Literal>PYSIGNAL()</Literal>), or a Qt slot (specified using +<Literal>SLOT()</Literal>). +</Para> + +<Para> +You connect signals to slots (and other signals) as you would from C++. For +example: +</Para> + +<ProgramListing> +QObject.connect(a,SIGNAL("QtSig()"),pyFunction) +QObject.connect(a,SIGNAL("QtSig()"),pyClass.pyMethod) +QObject.connect(a,SIGNAL("QtSig()"),PYSIGNAL("PySig")) +QObject.connect(a,SIGNAL("QtSig()"),SLOT("QtSlot()")) +QObject.connect(a,PYSIGNAL("PySig"),pyFunction) +QObject.connect(a,PYSIGNAL("PySig"),pyClass.pyMethod) +QObject.connect(a,PYSIGNAL("PySig"),SIGNAL("QtSig()")) +QObject.connect(a,PYSIGNAL("PySig"),SLOT("QtSlot()")) +</ProgramListing> + +<Para> +When a slot is a Python method that corresponds to a Qt slot then a signal can +be connected to either the Python method or the Qt slot. The following +connections achieve the same effect. +</Para> + +<ProgramListing> +sbar = QScrollBar() +lcd = QLCDNumber() + +QObject.connect(sbar,SIGNAL("valueChanged(int)"),lcd.display) +QObject.connect(sbar,SIGNAL("valueChanged(int)"),lcd,SLOT("display(int)")) +</ProgramListing> + +<Para> +The difference is that the second connection is made at the C++ level and is +more efficient. +</Para> + +<Para> +Disconnecting signals works in exactly the same way. +</Para> + +<Para> +Any instance of a class that is derived from the <Literal>QObject</Literal> +class can emit a signal using the <Literal>emit</Literal> method. This takes +two arguments. The first is the Python or Qt signal, the second is a Python +tuple which are the arguments to the signal. For example: +</Para> + +<ProgramListing> +a.emit(SIGNAL("clicked()"),()) +a.emit(PYSIGNAL("pySig"),("Hello","World")) +</ProgramListing> + +<Para> +Note that when a slot is a Python callable object its reference count is not +increased. This means that a class instance can be deleted without having to +explicitly disconnect any signals connected to its methods. However, it also +means that using lambda expressions as slots will not work unless you keep a +separate reference to the expression to prevent it from being immediately +garbage collected. +</Para> + +<Para> +Qt allows a signal to be connected to a slot that requires fewer arguments than +the signal passes. The extra arguments are quietly discarded. Python slots +can be used in the same way. +</Para> +</Sect1> + + +<Sect1><Title>Static Member Functions</Title> +<Para> +Static member functions are implemented as Python class functions. +For example the C++ static member function +<Literal>QObject::connect()</Literal> is called from Python as +<Literal>QObject.connect()</Literal> or <Literal>self.connect()</Literal> if +called from a sub-class of <Literal>QObject</Literal>. +</Para> +</Sect1> + + +<Sect1><Title>Enumerated Types</Title> +<Para> +Enumerated types are implemented as a set of simple variables corresponding to +the separate enumerated values. +</Para> + +<Para> +When using an enumerated value the name of the class (or a sub-class) in which +the enumerated type was defined in must be included. For example: +</Para> + +<ProgramListing> +Qt.SolidPattern +QWidget.TabFocus +QFrame.TabFocus +</ProgramListing> +</Sect1> + + +<Sect1><Title>Module Reference Documentation</Title> +<Para> +The following sections should be used in conjunction with the normal class +documentation - only the differences specific to the Python bindings are +documented here. +</Para> + +<Para> +In these sections, <Emphasis>Not yet implemented</Emphasis> +implies that the feature can be easily implemented if needed. <Emphasis>Not +implemented</Emphasis> implies that the feature will not be implemented, either +because it cannot be or because it is not appropriate. +</Para> + +<Para> +If a class is described as being <Emphasis>fully implemented</Emphasis> then +all non-private member functions and all public class variables have been +implemented. +</Para> + +<Para> +If an operator has been implemented then it is stated explicitly. +</Para> + +<Para> +Classes that are not mentioned have not yet been implemented. +</Para> +</Sect1> + + +<Sect1><Title><Literal>qt</Literal> Module Reference</Title> +<Sect2><Title>Qt Constants</Title> +<Para> +All constant values defined by Qt have equivalent constants defined to Python. +</Para> +</Sect2> +<Sect2><Title>Qt (Qt v2+)</Title> +<Para> +<Literal>Qt</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QAccel</Title> +<Para> +<Literal>QAccel</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QAction (Qt v2.2+)</Title> +<Para> +<Literal>QAction</Literal> is fully implemented. +</Para> + +</Sect2> +<Sect2><Title>QActionGroup (Qt v2.2+)</Title> +<Para> +<Literal>QActionGroup</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QApplication</Title> +<FuncSynopsis> + <FuncDef><Function>QApplication</Function></FuncDef> + <ParamDef>int &<Parameter>argc</Parameter></ParamDef> + <ParamDef>char **<Parameter>argv</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes one parameter which is a list of argument strings. Arguments +used by Qt are removed from the list. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QApplication</Function></FuncDef> + <ParamDef>int &<Parameter>argc</Parameter></ParamDef> + <ParamDef>char **<Parameter>argv</Parameter></ParamDef> + <ParamDef>bool <Parameter>GUIenabled</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes two parameters, the first of which is a list of argument strings. +Arguments used by Qt are removed from the list. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QApplication</Function></FuncDef> + <ParamDef>int &<Parameter>argc</Parameter></ParamDef> + <ParamDef>char **<Parameter>argv</Parameter></ParamDef> + <ParamDef>Type <Parameter>type</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes two parameters, the first of which is a list of argument strings. +Arguments used by Qt are removed from the list. (Qt v2.2+) +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_loop</Literal> in Python. +</Para> +</Sect2> +<Sect2><Title>QAssistantClient (Qt v3.1+)</Title> +<Para> +<Literal>QAssistantClient</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QBitmap</Title> +<Para> +<Literal>QBitmap</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QBrush</Title> +<Para> +<Literal>QBrush</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +<Sect2><Title>QButton</Title> +<Para> +<Literal>QButton</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QButtonGroup</Title> +<Para> +<Literal>QButtonGroup</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QByteArray</Title> +<Para> +A Python string can be used whenever a <Literal>QByteArray</Literal> can be +used. A <Literal>QByteArray</Literal> can be converted to a Python string +using the Python <Literal>str()</Literal> function. +</Para> + +<FuncSynopsis> + <FuncDef>QByteArray &<Function>assign</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint <Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>char &<Function>at</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>contains</Function></FuncDef> + <ParamDef>const char &<Parameter>d</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>fill</Function></FuncDef> + <ParamDef>const char &<Parameter>d</Parameter></ParamDef> + <ParamDef>int <Parameter>size</Parameter> = -1</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>find</Function></FuncDef> + <ParamDef>const char &<Parameter>d</Parameter></ParamDef> + <ParamDef>uint <Parameter>i</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>resetRawData</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint<Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QByteArray &<Function>setRawData</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint<Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QCDEStyle (Qt v2+)</Title> +<Para> +<Literal>QCDEStyle</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QCheckBox</Title> +<Para> +<Literal>QCheckBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QClipboard</Title> +<FuncSynopsis> + <FuncDef>void *<Function>data</Function> const</FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented (Qt v1.x). +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setData</Function></FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>void *<Parameter></Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented (Qt v1.x). +</Para> +</Sect2> +<Sect2><Title>QColor</Title> +<Para> +The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are +supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getHsv</Function></FuncDef> + <ParamDef>int *<Parameter>h</Parameter></ParamDef> + <ParamDef>int *<Parameter>s</Parameter></ParamDef> + <ParamDef>int *<Parameter>v</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>h</Literal>, +<Literal>s</Literal> and <Literal>v</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getRgb</Function></FuncDef> + <ParamDef>int *<Parameter>r</Parameter></ParamDef> + <ParamDef>int *<Parameter>g</Parameter></ParamDef> + <ParamDef>int *<Parameter>b</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>r</Literal>, +<Literal>g</Literal> and <Literal>b</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>hsv</Function></FuncDef> + <ParamDef>int *<Parameter>h</Parameter></ParamDef> + <ParamDef>int *<Parameter>s</Parameter></ParamDef> + <ParamDef>int *<Parameter>v</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>h</Literal>, +<Literal>s</Literal> and <Literal>v</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>rgb</Function></FuncDef> + <ParamDef>int *<Parameter>r</Parameter></ParamDef> + <ParamDef>int *<Parameter>g</Parameter></ParamDef> + <ParamDef>int *<Parameter>b</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>r</Literal>, +<Literal>g</Literal> and <Literal>b</Literal> values as a tuple. +</Para> +</Sect2> +<Sect2><Title>QColorDialog (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>static QRgb <Function>getRgba</Function></FuncDef> + <ParamDef>QRgb <Parameter>initial</Parameter></ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>initial</Literal>, <Literal>parent</Literal> and +<Literal>name</Literal> parameters and returns a tuple containing the +<Literal>QRgb</Literal> result and the <Literal>ok</Literal> value. +</Para> +</Sect2> +<Sect2><Title>QColorGroup</Title> +<Para> +<Literal>QColorGroup</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QComboBox</Title> +<Para> +<Literal>QComboBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QCommonStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>virtual void <Function>getButtonShift</Function></FuncDef> + <ParamDef>int &<Parameter>x</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>x</Literal> and +<Literal>y</Literal> values. (Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>virtual void <Function>tabbarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef> + <ParamDef>int &<Parameter>hframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>vframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>overlap</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>t</Literal> parameter and returns a tuple of the +<Literal>hframe</Literal>, <Literal>vframe</Literal> and +<Literal>overlap</Literal> values. (Qt v2) +</Para> +</Sect2> +<Sect2><Title>QCString (Qt v2+)</Title> +<Para> +A Python string can be used whenever a <Literal>QCString</Literal> can be used. +A <Literal>QCString</Literal> can be converted to a Python string using the +Python <Literal>str()</Literal> function. +</Para> + +<FuncSynopsis> + <FuncDef>QCString &<Function>sprintf</Function></FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>short <Function>toShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>short</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ushort <Function>toUShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ushort</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>toInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>int</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>uint <Function>toUInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>uint</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>long <Function>toLong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>long</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ulong <Function>toULong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ulong</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>float <Function>toFloat</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>float</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>double <Function>toDouble</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>double</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +<Sect2><Title>QCursor</Title> +<Para> +<Literal>QCursor</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QDataStream</Title> +<FuncSynopsis> + <FuncDef>QDataStream &<Function>readBytes</Function></FuncDef> + <ParamDef>const char *&<Parameter>s</Parameter></ParamDef> + <ParamDef>uint &<Parameter>l</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters. The <Literal>QDataStream</Literal> result and the +data read are returned as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>QDataStream &<Function>readRawBytes</Function></FuncDef> + <ParamDef>const char *<Parameter>s</Parameter></ParamDef> + <ParamDef>uint <Parameter>l</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>l</Literal> parameter. The +<Literal>QDataStream</Literal> result and the data read are returned as a +tuple. +</Para> + +<FuncSynopsis> + <FuncDef>QDataStream &<Function>writeBytes</Function></FuncDef> + <ParamDef>const char *<Parameter>s</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>s</Literal> and not passed as a +parameter. +</Para> + +<FuncSynopsis> + <FuncDef>QDataStream &<Function>writeRawBytes</Function></FuncDef> + <ParamDef>const char *<Parameter>s</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>s</Literal> and not passed as a +parameter. +</Para> +</Sect2> +<Sect2><Title>QDate</Title> +<Para> +The Python +<Literal>==</Literal>, <Literal>!=</Literal>, +<Literal><</Literal>, <Literal><=</Literal>, +<Literal>></Literal>, <Literal>>=</Literal> +and <Literal>__nonzero__</Literal> +operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>weekNumber</Function></FuncDef> + <ParamDef>int *<Parameter>yearNum</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the week number and the year number as a +tuple. (Qt v3.1+) +</Para> +</Sect2> + +<Sect2><Title>QDateTime</Title> +<Para> +<Literal>QDateTime</Literal> is fully implemented, including the Python +<Literal>==</Literal>, <Literal>!=</Literal>, +<Literal><</Literal>, <Literal><=</Literal>, +<Literal>></Literal>, <Literal>>=</Literal> +and <Literal>__nonzero__</Literal> +operators. +</Para> +</Sect2> + +<Sect2><Title>QTime</Title> +<Para> +<Literal>QTime</Literal> is fully implemented, including the Python +<Literal>==</Literal>, <Literal>!=</Literal>, +<Literal><</Literal>, <Literal><=</Literal>, +<Literal>></Literal>, <Literal>>=</Literal> +and <Literal>__nonzero__</Literal> +operators. +</Para> +</Sect2> +<Sect2><Title>QDateEdit (Qt v3+)</Title> +<Para> +<Literal>QDateEdit</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTimeEdit (Qt v3+)</Title> +<Para> +<Literal>QTimeEdit</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDateTimeEdit (Qt v3+)</Title> +<Para> +<Literal>QDateTimeEdit</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QDesktopWidget (Qt v3+)</Title> +<Para> +<Literal>QDesktopWidget</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QDial (Qt v2.2+)</Title> +<Para> +<Literal>QDial</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QDialog</Title> +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ dialog to be transfered +to Python. This means that the C++ dialog will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the dialog is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> +</Sect2> +<Sect2><Title>QDir</Title> +<Para> +<Literal>QDir</Literal> is fully implemented, including the Python +<Literal>len</Literal>, <Literal>[]</Literal> (for reading slices and +individual elements), <Literal>==</Literal>, <Literal>!=</Literal> and +<Literal>in</Literal> operators +</Para> +</Sect2> + +<Sect2><Title>QFileInfoList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QFileInfoList</Literal> is +the return type of a function or the type of an argument, a Python list of +<Literal>QFileInfo</Literal> instances is used instead. +</Para> +</Sect2> +<Sect2><Title>QDockArea (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>bool <Function>hasDockWindow</Function> const</FuncDef> + <ParamDef>QDockWindow *<Parameter>w</Parameter></ParamDef> + <ParamDef>int *<Parameter>index</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>w</Literal> parameter and returns the index of the +QDockWIndow or -1 if the QDockArea does not contain the QDockWindow. +</Para> +</Sect2> +<Sect2><Title>QDockWindow (Qt v3+)</Title> +<Para> +<Literal>QDockWindow</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QColorDrag (Qt v2.1+)</Title> +<Para> +<Literal>QColorDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDragObject</Title> +<Para> +<Literal>QDragObject</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QImageDrag</Title> +<Para> +<Literal>QImageDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QStoredDrag</Title> +<Para> +<Literal>QStoredDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTextDrag</Title> +<Para> +<Literal>QTextDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QUriDrag (Qt v2+)</Title> +<Para> +<Literal>QUriDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QUrlDrag (Qt v1.x)</Title> +<Para> +<Literal>QUrlDrag</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QDropSite</Title> +<Para> +<Literal>QDropSite</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QErrorMessage (Qt v3+)</Title> +<Para> +<Literal>QErrorMessage</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QEvent</Title> +<Para> +<Literal>QEvent</Literal> is fully implemented. +</Para> +<Para> +Instances of <Literal>QEvent</Literal>s are automatically converted to the +correct sub-class. +</Para> +</Sect2> + +<Sect2><Title>QChildEvent</Title> +<Para> +<Literal>QChildEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCloseEvent</Title> +<Para> +<Literal>QCloseEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconDragEvent (Qt v3.3+)</Title> +<Para> +<Literal>QIconDragEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QContextMenuEvent (Qt v3+)</Title> +<Para> +<Literal>QContextMenuEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCustomEvent</Title> +<Para> +<Literal>QCustomEvent</Literal> is fully implemented. Any Python object can be +passed as the event data and its reference count is increased. +</Para> +</Sect2> + +<Sect2><Title>QDragEnterEvent</Title> +<Para> +<Literal>QDragEnterEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDragLeaveEvent</Title> +<Para> +<Literal>QDragLeaveEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDragMoveEvent</Title> +<Para> +<Literal>QDragMoveEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDropEvent</Title> +<Para> +<Literal>QDropEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QFocusEvent</Title> +<Para> +<Literal>QFocusEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QHideEvent</Title> +<Para> +<Literal>QHideEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIMComposeEvent (Qt v3.1+)</Title> +<Para> +<Literal>QIMComposeEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIMEvent (Qt v3+)</Title> +<Para> +<Literal>QIMEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QKeyEvent</Title> +<Para> +<Literal>QKeyEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMouseEvent</Title> +<Para> +<Literal>QMouseEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMoveEvent</Title> +<Para> +<Literal>QMoveEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QPaintEvent</Title> +<Para> +<Literal>QPaintEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QResizeEvent</Title> +<Para> +<Literal>QResizeEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QShowEvent</Title> +<Para> +<Literal>QShowEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTabletEvent (Qt v3+)</Title> +<Para> +<Literal>QTabletEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTimerEvent</Title> +<Para> +<Literal>QTimerEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QWheelEvent (Qt v2+)</Title> +<Para> +<Literal>QWheelEvent</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QEventLoop (Qt v3.1+)</Title> +<FuncSynopsis> + <FuncDef>virtual int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_loop</Literal> in Python. +</Para> +</Sect2> +<Sect2><Title>QFile</Title> +<FuncSynopsis> + <FuncDef>bool <Function>open</Function></FuncDef> + <ParamDef>int <Parameter>m</Parameter></ParamDef> + <ParamDef>FILE *<Parameter>f</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>len</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readLine</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>static void <Function>setDecodingFunction</Function></FuncDef> + <ParamDef>EncoderFn <Parameter>f</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>static void <Function>setEncodingFunction</Function></FuncDef> + <ParamDef>EncoderFn <Parameter>f</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +<Sect2><Title>QFileDialog</Title> +<Para> +<Literal>QFileDialog</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QFileIconProvider</Title> +<Para> +<Literal>QFileIconProvider</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QFilePreview</Title> +<Para> +<Literal>QFilePreview</Literal> is fully implemented. However it cannot be +used from Python in the same way as it is used from C++ because PyQt does not +support multiple inheritance involving more than one wrapped class. A trick +that seems to work is to use composition rather than inheritance as in the +following code fragment. +</Para> +<ProgramListing> +class FilePreview(QFilePreview): + pass + +class Preview(QLabel): + def __init__(self, parent=None): + QLabel.__init__(self, parent) + self.preview = FilePreview() + self.preview.previewUrl = self.previewUrl +</ProgramListing> +<Para> +Note that QFilePreview cannot be instantiated directly because it is abstract. +Thanks to Hans-Peter Jansen for this trick. +</Para> +</Sect2> +<Sect2><Title>QFileInfo</Title> +<Para> +<Literal>QFileInfo</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QFont</Title> +<Para> +<Literal>QFont</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +<Sect2><Title>QFontDatabase (Qt v2.1+)</Title> +<Para> +<Literal>QFontDatabase</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QFontDialog (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>static QFont <Function>getFont</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> + <ParamDef>const QFont &<Parameter>def</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>def</Literal>, <Literal>parent</Literal> and +<Literal>name</Literal> parameters and returns a tuple containing the +<Literal>QFont</Literal> result and the <Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>static QFont <Function>getFont</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>parent</Literal> and <Literal>name</Literal> parameters +and returns a tuple containing the <Literal>QFont</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +<Sect2><Title>QFontInfo</Title> +<Para> +<Literal>QFontInfo</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QFontMetrics</Title> +<FuncSynopsis> + <FuncDef>QRect <Function>boundingRect</Function></FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int <Parameter>w</Parameter></ParamDef> + <ParamDef>int <Parameter>h</Parameter></ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>int <Parameter>tabstops</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>tabarray</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>tabarray</Literal> parameter is a Python list of integers. +</Para> + +<FuncSynopsis> + <FuncDef>QSize <Function>size</Function></FuncDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>int <Parameter>tabstops</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>tabarray</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>tabarray</Literal> parameter is a Python list of integers. +</Para> +</Sect2> +<Sect2><Title>QFrame</Title> +<Para> +<Literal>QFrame</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QGManager (Qt v1.x)</Title> +<Para> +<Literal>QGManager</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QChain (Qt v1.x)</Title> +<Para> +<Literal>QChain</Literal> is implemented as an opaque class. +</Para> +</Sect2> +<Sect2><Title>QGrid (Qt v2+)</Title> +<Para> +<Literal>QGrid</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QGridView (Qt v3+)</Title> +<Para> +<Literal>QGridView</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QGroupBox</Title> +<Para> +<Literal>QGroupBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QHBox (Qt v2+)</Title> +<Para> +<Literal>QHBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QHButtonGroup (Qt v2+)</Title> +<Para> +<Literal>QHButtonGroup</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QHeader</Title> +<Para> +<Literal>QHeader</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QHGroupBox (Qt v2+)</Title> +<Para> +<Literal>QHGroupBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QIconSet</Title> +<Para> +<Literal>QIconSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconFactory (Qt v3.1+)</Title> +<Para> +<Literal>QIconFactory</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QIconView (Qt v2.1+)</Title> +<FuncSynopsis> + <FuncDef>QIconViewItem *<Function>makeRowLayout</Function></FuncDef> + <ParamDef>QIconViewItem *<Parameter>begin</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconViewItem (Qt v2.1+)</Title> +<Para> +<Literal>QIconViewItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconDrag (Qt v2.1+)</Title> +<Para> +<Literal>QIconDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconDragItem (Qt v2.1+)</Title> +<Para> +<Literal>QIconDragItem</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QImage</Title> +<Para> +The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are +supported. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QImage</Function></FuncDef> + <ParamDef>const char *<Parameter>xpm</Parameter>[]</ParamDef> +</FuncSynopsis> +<Para> +This takes a list of strings as its parameter. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QImage</Function></FuncDef> + <ParamDef>uchar *<Parameter>data</Parameter></ParamDef> + <ParamDef>int <Parameter>w</Parameter></ParamDef> + <ParamDef>int <Parameter>h</Parameter></ParamDef> + <ParamDef>int <Parameter>depth</Parameter></ParamDef> + <ParamDef>QRgb *<Parameter>colorTable</Parameter></ParamDef> + <ParamDef>int <Parameter>numColors</Parameter></ParamDef> + <ParamDef>Endian <Parameter>bitOrder</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The <Literal>colorTable</Literal> parameter is a list of QRgb instances or +None. (Qt v2.1+) +</Para> + +<FuncSynopsis> + <FuncDef>uchar *<Function>bits</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> + +<FuncSynopsis> + <FuncDef>QRgb *<Function>colorTable</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> + +<FuncSynopsis> + <FuncDef>QImage <Function>convertDepthWithPalette</Function></FuncDef> + <ParamDef>int</ParamDef> + <ParamDef>QRgb *<Parameter>p</Parameter></ParamDef> + <ParamDef>int <Parameter>pc</Parameter></ParamDef> + <ParamDef>int <Parameter>cf</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>uchar **<Function>jumpTable</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>loadFromData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> + <ParamDef>const char *<Parameter>format</Parameter> = 0</ParamDef> + <ParamDef>ColorMode <Parameter>mode</Parameter> = Auto</ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>buf</Literal> and not passed as +a parameter. +</Para> + +<FuncSynopsis> + <FuncDef>uchar *<Function>scanLine</Function></FuncDef> + <ParamDef>int <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> +</Sect2> + +<Sect2><Title>QImageIO</Title> +<FuncSynopsis> + <FuncDef>static void <Function>defineIOHandler</Function></FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>const char *<Parameter>header</Parameter></ParamDef> + <ParamDef>const char *<Parameter>flags</Parameter></ParamDef> + <ParamDef>image_io_handler <Parameter>read_image</Parameter></ParamDef> + <ParamDef>image_io_handler <Parameter>write_image</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QImageTextKeyLang</Title> +<Para> +<Literal>QImageTextKeyLang</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QInputDialog (Qt v2.1+)</Title> +<FuncSynopsis> + <FuncDef>static QString <Function>getText</Function></FuncDef> + <ParamDef>const QString &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>text</Parameter> = QString::null</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag. +(Qt v2.1 - v2.3.1) +</Para> + +<FuncSynopsis> + <FuncDef>static QString <Function>getText</Function></FuncDef> + <ParamDef>const QString &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>QLineEdit::EchoMode<Parameter>echo</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>text</Parameter> = QString::null</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag. +(Qt v2.2 - v2.3.1) +</Para> + +<FuncSynopsis> + <FuncDef>static QString <Function>getText</Function></FuncDef> + <ParamDef>const QString &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>QLineEdit::EchoMode<Parameter>echo</Parameter> = QLineEdit::Normal</ParamDef> + <ParamDef>const QString &<Parameter>text</Parameter> = QString::null</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag. +(Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>static int <Function>getInteger</Function></FuncDef> + <ParamDef>const QString &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>int <Parameter>num</Parameter> = 0</ParamDef> + <ParamDef>int <Parameter>from</Parameter> = -2147483647</ParamDef> + <ParamDef>int <Parameter>to</Parameter> = 2147483647</ParamDef> + <ParamDef>int <Parameter>step</Parameter> = 1</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>int</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> + <FuncDef>static double <Function>getDouble</Function></FuncDef> + <ParamDef>const QString &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>double <Parameter>num</Parameter> = 0</ParamDef> + <ParamDef>double <Parameter>from</Parameter> = -2147483647</ParamDef> + <ParamDef>double <Parameter>to</Parameter> = 2147483647</ParamDef> + <ParamDef>int <Parameter>step</Parameter> = 1</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>double</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> + <FuncDef>static QString <Function>getItem</Function></FuncDef> + <ParamDef>const QString &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>const QStringList &<Parameter>list</Parameter></ParamDef> + <ParamDef>int <Parameter>current</Parameter> = 0</ParamDef> + <ParamDef>bool <Parameter>editable</Parameter> = TRUE</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag. +</Para> +</Sect2> +<Sect2><Title>QInterlaceStyle (Qt v2.3.1+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +</Para> +</Sect2> +<Sect2><Title>QIODevice</Title> +<Para> +<Literal>QIODevice</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QKeySequence (Qt v3+)</Title> +<Para> +<Literal>QKeySequence</Literal> is fully implemented including the operators +<Literal>==</Literal>, <Literal>!=</Literal>, <Literal>QString()</Literal> and +<Literal>int()</Literal>. A <Literal>QString</Literal> instance or a Python +integer may be used whenever a <Literal>QKeySequence</Literal> can be used. +</Para> +</Sect2> +<Sect2><Title>QLabel</Title> +<Para> +<Literal>QLabel</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QLayout</Title> +<Para> +<Literal>QLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QBoxLayout</Title> +<Para> +<Literal>QBoxLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLayoutIterator (Qt v2+)</Title> +<Para> +<Literal>QGLayoutIterator</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGridLayout</Title> +<FuncSynopsis> + <FuncDef>bool <Function>findWidget</Function></FuncDef> + <ParamDef>QWidget *<Parameter>w</Parameter></ParamDef> + <ParamDef>int *<Parameter>row</Parameter></ParamDef> + <ParamDef>int *<Parameter>col</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>w</Literal> parameter and returns a tuple containing +the <Literal>bool</Literal> result, <Literal>row</Literal> and +<Literal>col</Literal>. (Qt v2+) +</Para> +</Sect2> + +<Sect2><Title>QHBoxLayout</Title> +<Para> +<Literal>QHBoxLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QLayoutItem (Qt v2+)</Title> +<Para> +<Literal>QLayoutItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QLayoutIterator (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>QLayoutItem *<Function>next</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This is a wrapper around the <Literal>QLayoutIterator</Literal> +<Literal>++</Literal> operator. +</Para> +</Sect2> + +<Sect2><Title>QSpacerItem (Qt v2+)</Title> +<Para> +<Literal>QSpacerItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QVBoxLayout</Title> +<Para> +<Literal>QVBoxLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QWidgetItem (Qt v2+)</Title> +<Para> +<Literal>QWidgetItem</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QLCDNumber</Title> +<Para> +<Literal>QLCDNumber</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QLibrary (Qt v3+)</Title> +<Para> +<Literal>QLibrary</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QLineEdit</Title> +<FuncSynopsis> + <FuncDef>int <Function>characterAt</Function></FuncDef> + <ParamDef>int <Parameter>xpos</Parameter></ParamDef> + <ParamDef>QChar *<Parameter>chr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>xpos</Literal> parameter and returns the int +result and the <Literal>chr</Literal> value as a tuple. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>del</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delChar</Literal> in Python. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>getSelection</Function></FuncDef> + <ParamDef>int *<Parameter>start</Parameter></ParamDef> + <ParamDef>int *<Parameter>end</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the bool result and the +<Literal>start</Literal> and <Literal>end</Literal> values as a tuple. +(Qt v3+) +</Para> +</Sect2> +<Sect2><Title>QList<type> (Qt v2)</Title> +<Para> +Types based on the <Literal>QList</Literal> template are automatically +converted to and from Python lists of the type. +</Para> +</Sect2> +<Sect2><Title>QListBox</Title> +<FuncSynopsis> + <FuncDef>bool <Function>itemYPos</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int *<Parameter>yPos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>index</Literal> parameter and returns a tuple +containing the <Literal>bool</Literal> result and <Literal>yPos</Literal>. +(Qt v1.x) +</Para> +</Sect2> + +<Sect2><Title>QListBoxItem</Title> +<Para> +<Literal>QListBoxItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QListBoxPixmap</Title> +<Para> +<Literal>QListBoxPixmap</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QListBoxText</Title> +<Para> +<Literal>QListBoxText</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QListView</Title> +<Para> +<Literal>QListView</Literal> is fully implemented. +</Para> +<Para> +Note that to remove a child <Literal>QListViewItem</Literal> you must first +call <Literal>takeItem()</Literal> and then <Literal>del()</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QListViewItem</Title> +<Para> +<Literal>QListViewItem</Literal> is fully implemented. +</Para> +<Para> +Note that to remove a child <Literal>QListViewItem</Literal> you must first +call <Literal>takeItem()</Literal> and then <Literal>del()</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QCheckListItem</Title> +<Para> +<Literal>QCheckListItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QListViewItemIterator (Qt v2+)</Title> +<Para> +<Literal>QListViewItemIterator</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QLocale (Qt v3.3+)</Title> +<FuncSynopsis> + <FuncDef>short <Function>toShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>short</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ushort <Function>toUShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ushort</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>toInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>int</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>uint <Function>toUInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>uint</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>toLong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>long</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>Q_ULONG <Function>toULong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ulong</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>float <Function>toFloat</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>float</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>double <Function>toDouble</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>double</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +<Sect2><Title>QMainWindow</Title> +<FuncSynopsis> + <FuncDef>QTextStream &<Function>operator<<</Function></FuncDef> + <ParamDef>QTextStream &<Parameter></Parameter></ParamDef> + <ParamDef>const QMainWindow &<Parameter></Parameter></ParamDef> +</FuncSynopsis> +<Para> +This operator is fully implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>QTextStream &<Function>operator>></Function></FuncDef> + <ParamDef>QTextStream &<Parameter></Parameter></ParamDef> + <ParamDef>QMainWindow &<Parameter></Parameter></ParamDef> +</FuncSynopsis> +<Para> +This operator is fully implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>getLocation</Function></FuncDef> + <ParamDef>QToolBar *<Parameter>tb</Parameter></ParamDef> + <ParamDef>ToolBarDock &<Parameter>dock</Parameter></ParamDef> + <ParamDef>int &<Parameter>index</Parameter></ParamDef> + <ParamDef>bool &<Parameter>nl</Parameter></ParamDef> + <ParamDef>int &<Parameter>extraOffset</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>tb</Literal> parameter and returns a tuple of the +result, <Literal>dock</Literal>, <Literal>index</Literal>, +<Literal>nl</Literal> and <Literal>extraOffset</Literal> values. (Qt v2.1.0+) +</Para> + +<FuncSynopsis> + <FuncDef>QList<QToolBar> <Function>toolBars</Function></FuncDef> + <ParamDef>ToolBarDock <Parameter>dock</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This returns a list of <Literal>QToolBar</Literal> instances. (Qt v2.1.0+) +</Para> +</Sect2> +<Sect2><Title>QMemArray<type> (Qt v3+)</Title> +<Para> +Types based on the <Literal>QMemArray</Literal> template are automatically +converted to and from Python lists of the type. +</Para> +</Sect2> +<Sect2><Title>QMenuBar</Title> +<Para> +<Literal>QMenuBar</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QMenuData</Title> +<FuncSynopsis> + <FuncDef>QMenuItem *<Function>findItem</Function></FuncDef> + <ParamDef>int <Parameter>id</Parameter></ParamDef> + <ParamDef>QMenuData **<Parameter>parent</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QCustomMenuItem (Qt v2.1+)</Title> +<Para> +<Literal>QCustomMenuItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMenuItem</Title> +<Para> +<Literal>QMenuItem</Literal> is an internal Qt class. +</Para> +</Sect2> +<Sect2><Title>QMessageBox</Title> +<Para> +<Literal>QMessageBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QMetaObject</Title> +<FuncSynopsis> + <FuncDef>int <Function>numClassInfo</Function> const</FuncDef> + <ParamDef>bool <Parameter>super</Parameter> = FALSE</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>const QClassInfo *<Function>classInfo</Function> const</FuncDef> + <ParamDef>bool <Parameter>super</Parameter> = FALSE</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QMetaProperty</Title> +<Para> +<Literal>QMetaProperty</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QMimeSource (Qt v2+)</Title> +<Para> +<Literal>QMimeSource</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMimeSourceFactory (Qt v2+)</Title> +<Para> +<Literal>QMimeSourceFactory</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QWindowsMime (Qt v3+)</Title> +<Para> +<Literal>QWindowsMime</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QMotifPlusStyle (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>getButtonShift</Function></FuncDef> + <ParamDef>int &<Parameter>x</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>x</Literal> and +<Literal>y</Literal> values. (Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QScrollBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> +</Sect2> +<Sect2><Title>QMotifStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>tabbarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef> + <ParamDef>int &<Parameter>hframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>vframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>overlap</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>t</Literal> parameter and returns a tuple of the +<Literal>hframe</Literal>, <Literal>vframe</Literal> and +<Literal>overlap</Literal> values. (Qt v2) +</Para> +</Sect2> +<Sect2><Title>QMovie</Title> +<FuncSynopsis> + <FuncDef><Function>QMovie</Function></FuncDef> + <ParamDef>QDataSource *<Parameter>src</Parameter></ParamDef> + <ParamDef>int <Parameter>bufsize</Parameter> = 1024</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>pushData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>data</Parameter></ParamDef> + <ParamDef>int <Parameter>length</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>length</Literal> is derived from <Literal>data</Literal> and not +passed as a parameter. (Qt v2.2.0+) +</Para> +</Sect2> +<Sect2><Title>QMultiLineEdit</Title> +<FuncSynopsis> + <FuncDef>void <Function>cursorPosition</Function> const</FuncDef> + <ParamDef>int *<Parameter>line</Parameter></ParamDef> + <ParamDef>int *<Parameter>col</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>line</Literal> and +<Literal>col</Literal> values. (Qt v1.x, Qt v2.x) +</Para> + +<FuncSynopsis> + <FuncDef>virtual void <Function>del</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delChar</Literal> in Python. (Qt v1.x, Qt v2.x) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getCursorPosition</Function> const</FuncDef> + <ParamDef>int *<Parameter>line</Parameter></ParamDef> + <ParamDef>int *<Parameter>col</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>line</Literal> and +<Literal>col</Literal> values. (Qt v1.x, Qt v2.x) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>getMarkedRegion</Function></FuncDef> + <ParamDef>int *<Parameter>line1</Parameter></ParamDef> + <ParamDef>int *<Parameter>col1</Parameter></ParamDef> + <ParamDef>int *<Parameter>line2</Parameter></ParamDef> + <ParamDef>int *<Parameter>col2</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the bool result and the +<Literal>line1</Literal>, <Literal>col1</Literal>, <Literal>line2</Literal> and +<Literal>col2</Literal> values. +</Para> +</Sect2> +<Sect2><Title>QMutex (Qt v2.2+)</Title> +<Para> +<Literal>QMutex</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMutexLocker (Qt v3.1+)</Title> +<Para> +<Literal>QMutexLocker</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QNetworkOperation (Qt v2.1+)</Title> +<Para> +<Literal>QNetworkOperation</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QNetworkProtocol (Qt v2.1+)</Title> +<Para> +<Literal>QNetworkProtocol</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QNetworkProtocolFactoryBase (Qt v2.1+)</Title> +<Para> +<Literal>QNetworkProtocolFactoryBase</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QObject</Title> +<FuncSynopsis> + <FuncDef>bool <Function>disconnect</Function></FuncDef> + <ParamDef>const QObject *<Parameter>receiver</Parameter></ParamDef> + <ParamDef>const char *<Parameter>member</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>disconnect</Function></FuncDef> + <ParamDef>const char *<Parameter>signal</Parameter> = 0</ParamDef> + <ParamDef>const QObject *<Parameter>receiver</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>member</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>static bool <Function>disconnect</Function></FuncDef> + <ParamDef>const QObject *<Parameter>sender</Parameter></ParamDef> + <ParamDef>const char *<Parameter>signal</Parameter></ParamDef> + <ParamDef>const QObject *<Parameter>receiver</Parameter></ParamDef> + <ParamDef>const char *<Parameter>member</Parameter></ParamDef> +</FuncSynopsis> +<Para> +At the moment PyQt does not support the full behaviour of the corresponding Qt +method. In particular, specifying None (ie. 0 in C++) for the +<Literal>signal</Literal> and <Literal>receiver</Literal> parameters is not yet +supported. +</Para> +</Sect2> +<Sect2><Title>QObjectCleanupHandler (Qt v3+)</Title> +<Para> +<Literal>QObjectCleanupHandler</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QObjectList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QObjectList</Literal> is the +return type of a function or the type of an argument, a Python list of +<Literal>QObject</Literal> instances is used instead. +</Para> +</Sect2> +<Sect2><Title>QPaintDeviceMetrics</Title> +<Para> +<Literal>QPaintDeviceMetrics</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QPaintDevice</Title> +<FuncSynopsis> + <FuncDef>virtual bool <Function>cmd</Function></FuncDef> + <ParamDef>int</ParamDef> + <ParamDef>QPainter *</ParamDef> + <ParamDef>QPDevCmdParam *</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QPainter</Title> +<FuncSynopsis> + <FuncDef>QRect <Function>boundingRect</Function></FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int <Parameter>w</Parameter></ParamDef> + <ParamDef>int <Parameter>h</Parameter></ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>QRect <Function>boundingRect</Function></FuncDef> + <ParamDef>const QRect&</ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>drawText</Function></FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int <Parameter>w</Parameter></ParamDef> + <ParamDef>int <Parameter>h</Parameter></ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>QRect *<Parameter>br</Parameter> = 0</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>drawText</Function></FuncDef> + <ParamDef>const QRect&</ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>QRect *<Parameter>br</Parameter> = 0</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setTabArray</Function></FuncDef> + <ParamDef>int *<Parameter>ta</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of tab stops. +</Para> + +<FuncSynopsis> + <FuncDef>int *<Function>tabArray</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This returns a list of tab stops. +</Para> +</Sect2> +<Sect2><Title>QPalette</Title> +<Para> +<Literal>QPalette</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +<Sect2><Title>QPixmap</Title> +<FuncSynopsis> + <FuncDef><Function>QPixmap</Function></FuncDef> + <ParamDef>const char *<Parameter>xpm</Parameter>[]</ParamDef> +</FuncSynopsis> +<Para> +This takes a list of strings as its parameter. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>loadFromData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> + <ParamDef>const char *<Parameter>format</Parameter> = 0</ParamDef> + <ParamDef>ColorMode <Parameter>mode</Parameter> = Auto</ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>buf</Literal> and not passed as +a parameter. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>loadFromData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>int <Parameter>conversion_flags</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QPixmapCache (Qt v3+)</Title> +<Para> +<Literal>QPixmapCache</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QPair<type,type> (Qt v3+)</Title> +<Para> +Types based on the <Literal>QPair</Literal> template are automatically +converted to and from Python tuples of two elements. +</Para> +</Sect2> +<Sect2><Title>QPen</Title> +<Para> +<Literal>QPen</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +<Sect2><Title>QPicture</Title> +<FuncSynopsis> + <FuncDef>const char *<Function>data</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setData</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint <Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>size</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +<Sect2><Title>QPlatinumStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> +</Sect2> +<Sect2><Title>QPoint</Title> +<Para> +The Python +<Literal>+</Literal>, <Literal>+=</Literal>, +<Literal>-</Literal>, <Literal>-=</Literal>, unary <Literal>-</Literal>, +<Literal>*</Literal>, <Literal>*=</Literal>, +<Literal>/</Literal>, <Literal>/=</Literal>, +<Literal>==</Literal>, <Literal>!=</Literal> and <Literal>__nonzero__</Literal> +operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rx</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>ry</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QPointArray</Title> +<FuncSynopsis> + <FuncDef><Function>QPointArray</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>point</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> + <ParamDef>int *<Parameter>x</Parameter></ParamDef> + <ParamDef>int *<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the single parameter <Literal>i</Literal> and returns the +<Literal>x</Literal> and <Literal>y</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>putPoints</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes two parameters, <Literal>index</Literal> and a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>putPoints</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>int <Parameter>firstx</Parameter></ParamDef> + <ParamDef>int <Parameter>firsty</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setPoints</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setPoints</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>int <Parameter>firstx</Parameter></ParamDef> + <ParamDef>int <Parameter>firsty</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QPopupMenu</Title> +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ menu to be transfered +to Python. This means that the C++ menu will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the menu is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef>const QPoint &<Parameter>pos</Parameter></ParamDef> + <ParamDef>int <Parameter>indexAtPoint</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ menu to be transfered +to Python. This means that the C++ menu will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the menu is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> +</Sect2> +<Sect2><Title>QPrintDialog (X11)</Title> +<Para> +<Literal>QPrintDialog</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QPrinter</Title> +<Para> +<Literal>QPrinter</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QProcess (Qt v3+)</Title> +<Para> +<Literal>QProcess</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QProgressBar</Title> +<Para> +<Literal>QProgressBar</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QProgressDialog</Title> +<Para> +<Literal>QProgressDialog</Literal> is fully implemented. +value. +</Para> +</Sect2> +<Sect2><Title>QPtrList<type> (Qt v2+)</Title> +<Para> +Types based on the <Literal>QPtrList</Literal> template are automatically +converted to and from Python lists of the type. +</Para> +</Sect2> +<Sect2><Title>QPushButton</Title> +<Para> +<Literal>QPushButton</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QRadioButton</Title> +<Para> +<Literal>QRadioButton</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QRangeControl</Title> +<Para> +<Literal>QRangeControl</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QRect</Title> +<Para> +The Python +<Literal>&</Literal>, <Literal>&=</Literal>, +<Literal>|</Literal>, <Literal>|=</Literal>, +<Literal>==</Literal>, <Literal>!=</Literal>, <Literal>in</Literal> and +<Literal>__nonzero__</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>coords</Function></FuncDef> + <ParamDef>int *<Parameter>x1</Parameter></ParamDef> + <ParamDef>int *<Parameter>y1</Parameter></ParamDef> + <ParamDef>int *<Parameter>x2</Parameter></ParamDef> + <ParamDef>int *<Parameter>y2</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple containing the four values. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>rect</Function></FuncDef> + <ParamDef>int *<Parameter>x</Parameter></ParamDef> + <ParamDef>int *<Parameter>y</Parameter></ParamDef> + <ParamDef>int *<Parameter>w</Parameter></ParamDef> + <ParamDef>int *<Parameter>h</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple containing the four values. +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rBottom</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rLeft</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rRight</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rTop</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. (Qt v2+) +</Para> +</Sect2> +<Sect2><Title>QRegExp</Title> +<Para> +The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are +supported. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>match</Function></FuncDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>index</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>len</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes <Literal>str</Literal> and <Literal>index</Literal> parameters and +returns a tuple of the <Literal>int</Literal> result and the +<Literal>len</Literal> value. (Qt v1.x) +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>match</Function></FuncDef> + <ParamDef>const QString &<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>index</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>len</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes <Literal>str</Literal> and <Literal>index</Literal> parameters and +returns a tuple of the <Literal>int</Literal> result and the +<Literal>len</Literal> value. (Qt v2+) +</Para> +</Sect2> +<Sect2><Title>QRegion</Title> +<Para> +The Python +<Literal>|</Literal>, <Literal>|=</Literal>, +<Literal>+</Literal>, <Literal>+=</Literal>, +<Literal>&</Literal>, <Literal>&=</Literal>, +<Literal>-</Literal>, <Literal>-=</Literal>, +<Literal>^</Literal>, <Literal>^=</Literal>, +<Literal>==</Literal>, <Literal>!=</Literal>, <Literal>in</Literal> and +<Literal>__nonzero__</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>QArray<QRect> <Function>rects</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setRects</Function></FuncDef> + <ParamDef>QRect *<Parameter>rects</Parameter></ParamDef> + <ParamDef>int <Parameter>num</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2.2+) +</Para> +</Sect2> +<Sect2><Title>QScrollBar</Title> +<Para> +<Literal>QScrollBar</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QScrollView</Title> +<FuncSynopsis> + <FuncDef>void <Function>contentsToViewport</Function></FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int &<Parameter>vx</Parameter></ParamDef> + <ParamDef>int &<Parameter>vy</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>vx</Literal> and <Literal>vy</Literal> +values. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>viewportToContents</Function></FuncDef> + <ParamDef>int <Parameter>vx</Parameter></ParamDef> + <ParamDef>int <Parameter>vy</Parameter></ParamDef> + <ParamDef>int &<Parameter>x</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>vx</Literal> and <Literal>vy</Literal> parameters and +returns a tuple containing the <Literal>x</Literal> and <Literal>y</Literal> +values. (Qt v2+) +</Para> +</Sect2> +<Sect2><Title>QSemaphore (Qt v2.2+)</Title> +<Para> +<Literal>QSemaphore</Literal> is fully implemented. The <Literal>+=</Literal> +and <Literal>-=</Literal> operators have also been implemented, but require +Python v2.0 or later. +</Para> +</Sect2> +<Sect2><Title>QSemiModal (Qt v1, v2)</Title> +<Para> +<Literal>QSemiModal</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSessionManager (Qt v2+)</Title> +<Para> +<Literal>QSessionManager</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSettings (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>bool <Function>readBoolEntry</Function></FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> + <ParamDef>bool <Parameter>def</Parameter> = 0</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>bool</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> +<FuncDef>double <Function>readDoubleEntry</Function></FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> + <ParamDef>double <Parameter>def</Parameter> = 0</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>double</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> +<FuncDef>QString <Function>readEntry</Function></FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>def</Parameter> = QString::null</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> +<FuncDef>QStringList <Function>readListEntry</Function></FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>QStringList</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> +<FuncDef>QStringList <Function>readListEntry</Function></FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> + <ParamDef>const QChar &<Parameter>separator</Parameter></ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>QStringList</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> +<FuncDef>int <Function>readNumEntry</Function></FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> + <ParamDef>int <Parameter>def</Parameter> = 0</ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>ok</Literal> is not passed and the returned value is a tuple of +the <Literal>int</Literal> result and the <Literal>ok</Literal> flag. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>writeEntry</Function></FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> + <ParamDef>bool <Parameter>value</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QSGIStyle (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QScrollBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> +</Sect2> +<Sect2><Title>QSignalMapper</Title> +<Para> +<Literal>QSignalMapper</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSimpleRichText (Qt v2+)</Title> +<Para> +<Literal>QSimpleRichText</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSize</Title> +<Para> +The Python +<Literal>+</Literal>, <Literal>+=</Literal>, +<Literal>-</Literal>, <Literal>-=</Literal>, +<Literal>*</Literal>, <Literal>*=</Literal>, +<Literal>/</Literal>, <Literal>/=</Literal>, +<Literal>==</Literal>, <Literal>!=</Literal> and <Literal>__nonzero__</Literal> +operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rheight</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rwidth</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QSizeGrip (Qt v2+)</Title> +<Para> +<Literal>QSizeGrip</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSizePolicy (Qt v2+)</Title> +<Para> +<Literal>QSizePolicy</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSlider</Title> +<Para> +<Literal>QSlider</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSocketNotifier</Title> +<Para> +<Literal>QSocketNotifier</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSound (Qt v2.2+)</Title> +<Para> +<Literal>QSound</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSpinBox</Title> +<FuncSynopsis> + <FuncDef>virtual int <Function>mapTextToValue</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>int</Literal> result and the modified +<Literal>ok</Literal> value. +</Para> +</Sect2> +<Sect2><Title>QSplashScreen (Qt v3.2.0+)</Title> +<Para> +<Literal>QSplashScreen</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSplitter</Title> +<FuncSynopsis> + <FuncDef>void <Function>getRange</Function></FuncDef> + <ParamDef>int <Parameter>id</Parameter></ParamDef> + <ParamDef>int *<Parameter>min</Parameter></ParamDef> + <ParamDef>int *<Parameter>max</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>id</Literal> parameter and returns the +<Literal>min</Literal> and <Literal>max</Literal> values as a tuple. (Qt v2+) +</Para> +</Sect2> +<Sect2><Title>QStatusBar</Title> +<Para> +<Literal>QStatusBar</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QChar (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>uchar &<Function>cell</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>uchar &<Function>row</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QString</Title> +<Para> +A Python string object (or Unicode object) can be used whenever a +<Literal>QString</Literal> can be used. A <Literal>QString</Literal> can be +converted to a Python string object using the Python <Literal>str()</Literal> +function, and to a Python Unicode object using the Python +<Literal>unicode()</Literal> function. +</Para> + +<Para> +The Python <Literal>+</Literal>, <Literal>+=</Literal>, <Literal>*</Literal>, +<Literal>*=</Literal>, <Literal>len</Literal>, <Literal>[]</Literal> +(for reading slices and individual characters), <Literal>in</Literal> and +comparison operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>QCharRef <Function>at</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QChar <Function>constref</Function> const</FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QChar &<Function>ref</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QString &<Function>setUnicodeCodes</Function></FuncDef> + <ParamDef>const ushort *<Parameter>unicode_as_shorts</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2.1+) +</Para> + +<FuncSynopsis> + <FuncDef>QString &<Function>sprintf</Function></FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>short <Function>toShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>short</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ushort <Function>toUShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ushort</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>toInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>int</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>uint <Function>toUInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>uint</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>long <Function>toLong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>long</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ulong <Function>toULong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ulong</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>float <Function>toFloat</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>float</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>double <Function>toDouble</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>double</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +<Sect2><Title>QStringList (Qt v2+)</Title> +<Para> +The Python <Literal>len</Literal>, <Literal>[]</Literal> (for both reading and +writing slices and individual elements), <Literal>del</Literal> (for deleting +slices and individual elements), <Literal>+</Literal>, <Literal>+=</Literal>, +<Literal>*</Literal>, <Literal>*=</Literal>, <Literal>==</Literal>, +<Literal>!=</Literal> and <Literal>in</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>append</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>prepend</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> +</Sect2> +<Sect2><Title>QStrList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QStrList</Literal> is the +return type of a function or the type of an argument, a Python list of strings +is used instead. +</Para> +</Sect2> +<Sect2><Title>QStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>virtual void <Function>getButtonShift</Function></FuncDef> + <ParamDef>int &<Parameter>x</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>x</Literal> and +<Literal>y</Literal> values. (Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>virtual void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QScrollBar *<Parameter>b</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Thus takes only the <Literal>b</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>virtual void <Function>tabbarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef> + <ParamDef>int &<Parameter>hframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>vframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>overlap</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>t</Literal> parameter and returns a tuple of the +<Literal>hframe</Literal>, <Literal>vframe</Literal> and +<Literal>overlap</Literal> values. (Qt v2) +</Para> +</Sect2> + +<Sect2><Title>QStyleOption (Qt v3+)</Title> +<Para> +<Literal>QStyleOption</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QStyleSheet (Qt v2+)</Title> +<Para> +<Literal>QStyleSheet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QStyleSheetItem (Qt v2+)</Title> +<Para> +<Literal>QStyleSheetItem</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSyntaxHighlighter (Qt v3.1+)</Title> +<Para> +<Literal>QSyntaxHighlighter</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QTab</Title> +<Para> +<Literal>QTab</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTabBar</Title> +<FuncSynopsis> + <FuncDef>QList<QTab> <Function>tabList</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This returns a list of <Literal>QTab</Literal> instances. +</Para> +</Sect2> +<Sect2><Title>QTabDialog</Title> +<Para> +<Literal>QTabDialog</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QTableView (Qt 1.x, Qt 2.x)</Title> +<FuncSynopsis> + <FuncDef>bool <Function>colXPos</Function></FuncDef> + <ParamDef>int <Parameter>col</Parameter></ParamDef> + <ParamDef>int *<Parameter>xPos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>col</Literal> parameter and returns a tuple containing +the <Literal>bool</Literal> result and <Literal>xPos</Literal>. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>rowYPos</Function></FuncDef> + <ParamDef>int <Parameter>row</Parameter></ParamDef> + <ParamDef>int *<Parameter>yPos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>row</Literal> parameter and returns a tuple containing +the <Literal>bool</Literal> result and <Literal>yPos</Literal>. +</Para> +</Sect2> +<Sect2><Title>QTabWidget (Qt v2+)</Title> +<Para> +<Literal>QTabWidget</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QTextBrowser (Qt v2+)</Title> +<Para> +<Literal>QTextBrowser</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QTextCodec (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>virtual QCString <Function>fromUnicode</Function></FuncDef> + <ParamDef>const QString &<Parameter>uc</Parameter></ParamDef> + <ParamDef>int &<Parameter>lenInOut</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The returned value is a tuple of the <Literal>QCString</Literal> result and the +updated <Literal>lenInOut</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QTextDecoder (Qt v2+)</Title> +<Para> +<Literal>QTextDecoder</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTextEncoder (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>virtual QCString <Function>fromUnicode</Function> = 0</FuncDef> + <ParamDef>const QString &<Parameter>uc</Parameter></ParamDef> + <ParamDef>int &<Parameter>lenInOut</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The returned value is a tuple of the <Literal>QCString</Literal> result and the +updated <Literal>lenInOut</Literal>. +</Para> +</Sect2> +<Sect2><Title>QTextEdit (Qt v3+)</Title> +<FuncSynopsis> +<FuncDef>int <Function>charAt</Function></FuncDef> + <ParamDef>const QPoint &<Parameter>pos</Parameter></ParamDef> + <ParamDef>int *<Parameter>para</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>pos</Literal> parameter and returns a tuple of the +value returned via the <Literal>para</Literal> pointer and the int result. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>del</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delChar</Literal> in Python. +</Para> + +<FuncSynopsis> +<FuncDef>virtual bool <Function>find</Function></FuncDef> + <ParamDef>const QString &<Parameter>expr</Parameter></ParamDef> + <ParamDef>bool <Parameter>cs</Parameter></ParamDef> + <ParamDef>bool <Parameter>wo</Parameter></ParamDef> + <ParamDef>bool <Parameter>forward</Parameter> = TRUE</ParamDef> + <ParamDef>int *<Parameter>para</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>index</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +If the <Literal>para</Literal> and <Literal>index</Literal> parameters are +omitted then the bool result is returned. If both are supplied (as integers) +then a tuple of the bool result and the modified values of +<Literal>para</Literal> and <Literal>index</Literal> is returned. +</Para> + +<FuncSynopsis> +<FuncDef>void <Function>getCursorPosition</Function></FuncDef> + <ParamDef>int *<Parameter>para</Parameter></ParamDef> + <ParamDef>int *<Parameter>index</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the values returned via the +<Literal>para</Literal> and <Literal>index</Literal> pointers. +</Para> + +<FuncSynopsis> +<FuncDef>void <Function>getSelection</Function></FuncDef> + <ParamDef>int *<Parameter>paraFrom</Parameter></ParamDef> + <ParamDef>int *<Parameter>indexFrom</Parameter></ParamDef> + <ParamDef>int *<Parameter>paraTo</Parameter></ParamDef> + <ParamDef>int *<Parameter>indexTo</Parameter></ParamDef> + <ParamDef>int <Parameter>selNum</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>selNum</Literal> parameter and returns a tuple of +the <Literal>paraFrom</Literal>, <Literal>indexFrom</Literal>, +<Literal>paraTo</Literal> and <Literal>indexTo</Literal> values. +</Para> +</Sect2> +<Sect2><Title>QTextStream</Title> +<FuncSynopsis> + <FuncDef><Function>QTextStream</Function></FuncDef> + <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef> + <ParamDef>int <Parameter>mode</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QTextStream &<Function>readRawBytes</Function></FuncDef> + <ParamDef>char *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QTextStream &<Function>writeRawBytes</Function></FuncDef> + <ParamDef>const char *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> + +<Sect2><Title>QTextIStream (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QTextIStream</Function></FuncDef> + <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef> + <ParamDef>int <Parameter>mode</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QTextOStream (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QTextOStream</Function></FuncDef> + <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef> + <ParamDef>int <Parameter>mode</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QTextView (Qt v2+)</Title> +<Para> +<Literal>QTextView</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QThread (Qt v2.2+)</Title> +<Para> +<Literal>QThread</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QTimer</Title> +<Para> +<Literal>QTimer</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QToolBar</Title> +<Para> +<Literal>QToolBar</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QToolBox (Qt v3.2.0+)</Title> +<Para> +<Literal>QToolBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QToolButton</Title> +<Para> +<Literal>QToolButton</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QToolTip</Title> +<Para> +<Literal>QToolTip</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QToolTipGroup</Title> +<Para> +<Literal>QToolTipGroup</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QTranslator (Qt v2+)</Title> +<Para> +<Literal>QTranslator</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTranslatorMessage (Qt v2.2+)</Title> +<Para> +<Literal>QTranslatorMessage</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QUrl (Qt v2.1+)</Title> +<Para> +<Literal>QUrl</Literal> is fully implemented, including the +<Literal>QString()</Literal>, <Literal>==</Literal> and <Literal>!=</Literal> +operators. +</Para> +</Sect2> +<Sect2><Title>QUrlInfo (Qt v2.1+)</Title> +<Para> +<Literal>QUrlInfo</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QUrlOperator (Qt v2.1+)</Title> +<FuncSynopsis> + <FuncDef>virtual bool <Function>isDir</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>bool</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +<Sect2><Title>QUuid (Qt v3.0+)</Title> +<Para> +<Literal>QUuid</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QValidator</Title> +<FuncSynopsis> + <FuncDef>virtual State <Function>validate</Function></FuncDef> + <ParamDef>QString& <Parameter>input</Parameter></ParamDef> + <ParamDef>int& <Parameter>pos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The returned value is a tuple of the <Literal>State</Literal> result and the +updated <Literal>pos</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QDoubleValidator</Title> +<FuncSynopsis> + <FuncDef>State <Function>validate</Function></FuncDef> + <ParamDef>QString& <Parameter>input</Parameter></ParamDef> + <ParamDef>int& <Parameter>pos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The returned value is a tuple of the <Literal>State</Literal> result and the +updated <Literal>pos</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QIntValidator</Title> +<FuncSynopsis> + <FuncDef>State <Function>validate</Function></FuncDef> + <ParamDef>QString& <Parameter>input</Parameter></ParamDef> + <ParamDef>int& <Parameter>pos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The returned value is a tuple of the <Literal>State</Literal> result and the +updated <Literal>pos</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QRegExpValidator (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>virtual State <Function>validate</Function></FuncDef> + <ParamDef>QString& <Parameter>input</Parameter></ParamDef> + <ParamDef>int& <Parameter>pos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The returned value is a tuple of the <Literal>State</Literal> result and the +updated <Literal>pos</Literal>. +</Para> +</Sect2> +<Sect2><Title>QValueList<type> (Qt v2+)</Title> +<Para> +Types based on the <Literal>QValueList</Literal> template are automatically +converted to and from Python lists of the type. +</Para> +</Sect2> +<Sect2><Title>QVariant (Qt v2.1+)</Title> +<FuncSynopsis> + <FuncDef><Function>QVariant</Function></FuncDef> + <ParamDef>const char *<Parameter>val</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QVariant</Function></FuncDef> + <ParamDef>const QBitArray &<Parameter>val</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef><Function>QVariant</Function></FuncDef> + <ParamDef>const QValueList<QVariant> &<Parameter>val</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QVariant</Function></FuncDef> + <ParamDef>const QMap<QString,QVariant> &<Parameter>val</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QBitArray &<Function>asBitArray</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool &<Function>asBool</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>double &<Function>asDouble</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>int &<Function>asInt</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueList<QVariant> &<Function>asList</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMap<QString,QVariant> &<Function>asMap</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>uint &<Function>asUInt</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QVariant><Function>listBegin</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QVariant><Function>listEnd</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMapConstIterator<QString,QVariant><Function>mapBegin</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMapConstIterator<QString,QVariant><Function>mapEnd</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMapConstIterator<QString,QVariant><Function>mapFind</Function> const</FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QString><Function>stringListBegin</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QString><Function>stringListEnd</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>const QBitArray <Function>toBitArray</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>const QValueList<QVariant><Function>toList</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>const QMap<QString,QVariant><Function>toMap</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> +<Sect2><Title>QVBox (Qt v2+)</Title> +<Para> +<Literal>QVBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QVButtonGroup (Qt v2+)</Title> +<Para> +<Literal>QVButtonGroup</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QVGroupBox (Qt v2+)</Title> +<Para> +<Literal>QVGroupBox</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QWaitCondition (Qt v2.2+)</Title> +<Para> +<Literal>QWaitCondition</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QWhatsThis</Title> +<Para> +<Literal>QWhatsThis</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QWidget</Title> +<FuncSynopsis> + <FuncDef>QWExtra *<Function>extraData</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QFocusData *<Function>focusData</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>lower</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>lowerW</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>raise</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>raiseW</Literal> in Python. +</Para> +</Sect2> +<Sect2><Title>QWidgetList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QWidgetList</Literal> is the +return type of a function or the type of an argument, a Python list of +instances is used instead. +</Para> +</Sect2> +<Sect2><Title>QWidgetStack</Title> +<Para> +<Literal>QWidgetStack</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QWindow</Title> +<Para> +<Literal>QWindow</Literal> is fully implemented (Qt v1.x). +</Para> +</Sect2> +<Sect2><Title>QWindowsStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>getButtonShift</Function></FuncDef> + <ParamDef>int &<Parameter>x</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>x</Literal> and +<Literal>y</Literal> values. (Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>tabbarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef> + <ParamDef>int &<Parameter>hframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>vframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>overlap</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>t</Literal> parameter and returns a tuple of the +<Literal>hframe</Literal>, <Literal>vframe</Literal> and +<Literal>overlap</Literal> values. (Qt v2) +</Para> +</Sect2> +<Sect2><Title>QWindowsXPStyle (Qt v3.0.1+, Windows)</Title> +<Para> +<Literal>QWindowsXPStyle</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QWizard (Qt v2+)</Title> +<Para> +<Literal>QWizard</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QWMatrix</Title> +<Para> +The Python <Literal>==</Literal>, <Literal>!=</Literal> and +<Literal>*=</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>QWMatrix <Function>invert</Function> const</FuncDef> + <ParamDef>bool *<Parameter>invertible</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>QWMatrix</Literal> +result and the <Literal>invertible</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int *<Parameter>tx</Parameter></ParamDef> + <ParamDef>int *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>float <Parameter>x</Parameter></ParamDef> + <ParamDef>float <Parameter>y</Parameter></ParamDef> + <ParamDef>float *<Parameter>tx</Parameter></ParamDef> + <ParamDef>float *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. (Qt v1.x) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>double <Parameter>x</Parameter></ParamDef> + <ParamDef>double <Parameter>y</Parameter></ParamDef> + <ParamDef>double *<Parameter>tx</Parameter></ParamDef> + <ParamDef>double *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. (Qt v2+) +</Para> +</Sect2> +<Sect2><Title>QWorkspace (Qt v2.1+)</Title> +<Para> +<Literal>QWorkspace</Literal> is fully implemented. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtaxcontainer</Literal> Module Reference</Title> +<Sect2><Title>QAxBase (Windows, Qt v3+)</Title> +<FuncSynopsis> + <FuncDef><Function>QAxObject</Function></FuncDef> + <ParamDef>IUnknown *<Parameter>iface</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>long <Function>queryInterface</Function></FuncDef> + <ParamDef>const QUuid &<Parameter>uuid</Parameter></ParamDef> + <ParamDef>void **<Parameter>iface</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>PropertyBag <Function>propertyBag</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setPropertyBag</Function></FuncDef> + <ParamDef>const PropertyBag &<Parameter>bag</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>unsigned long <Function>registerWeakActiveObject</Function></FuncDef> + <ParamDef>const QString &<Parameter>guid</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This is a utility method provided by PyQt to make it easier to use +Mark Hammond's <Literal>win32com</Literal> module to manipulate objects +created by the <Literal>qtaxcontainer</Literal> module. +</Para> +<Para> +The <Literal>RegisterActiveObject()</Literal> COM function is called to +register the <Literal>QAxBase</Literal> instance as a weak object with the +<Literal>guid</Literal> GUID. The revoke handle is returned. +</Para> + +<FuncSynopsis> + <FuncDef>static void <Function>revokeActiveObject</Function></FuncDef> + <ParamDef>unsigned long <Parameter>rhandle</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This is a wrapper around the <Literal>RevokeActiveObject()</Literal> COM +function and is called to revoke the object registered using +<Literal>registerWeakActiveObject()</Literal>. <Literal>rhandle</Literal> is +the revoke handle returned by <Literal>registerWeakActiveObject()</Literal>. +</Para> +</Sect2> +<Sect2><Title>QAxObject (Windows, Qt v3+)</Title> +<FuncSynopsis> + <FuncDef><Function>QAxObject</Function></FuncDef> + <ParamDef>IUnknown *<Parameter>iface</Parameter></ParamDef> + <ParamDef>QObject *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +<Sect2><Title>QAxWidget (Windows, Qt v3+)</Title> +<FuncSynopsis> + <FuncDef><Function>QAxWidget</Function></FuncDef> + <ParamDef>IUnknown *<Parameter>iface</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtcanvas</Literal> Module Reference</Title> +<Sect2><Title>QCanvas (Qt v2.2+)</Title> +<Para> +<Literal>QCanvas</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasEllipse (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasEllipse</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasItem (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasItemList (Qt v2.2+)</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QCanvasItemList</Literal> is +the return type of a function or the type of an argument, a Python list of +<Literal>QCanvasItem</Literal> instances is used instead. +</Para> +</Sect2> + +<Sect2><Title>QCanvasLine (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasLine</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasPixmap (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasPixmap</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasPixmapArray (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QPixmapArray</Function></FuncDef> + <ParamDef>QList<QPixmap> <Parameter>pixmaps</Parameter></ParamDef> + <ParamDef>QList<QPoint> <Parameter>hotspots</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The <Literal>pixmaps</Literal> argument is a Python list of QPixmap instances, +and the <Literal>hotspots</Literal> argument is a Python list of QPoint +instances. (Qt v2.2.0 - Qt v2.3.1) +</Para> + +<FuncSynopsis> + <FuncDef><Function>QPixmapArray</Function></FuncDef> + <ParamDef>QValueList<QPixmap> <Parameter>pixmaps</Parameter></ParamDef> + <ParamDef>QPointArray <Parameter>hotspots</Parameter> = QPointArray()</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>pixmaps</Literal> argument is a Python list of QPixmap instances. +(Qt v3+) +</Para> +</Sect2> + +<Sect2><Title>QCanvasPolygon (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasPolygon</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasPolygonalItem (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasPolygonalItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasRectangle (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasRectangle</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasSpline (Qt v3.0+)</Title> +<Para> +<Literal>QCanvasSpline</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasSprite (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasSprite</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasText (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasText</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasView (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasView</Literal> is fully implemented. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtext</Literal> Module Reference</Title> + +<Sect2><Title>QextScintilla</Title> +<FuncSynopsis> + <FuncDef>void <Function>getCursorPosition</Function></FuncDef> + <ParamDef>int *<Parameter>line</Parameter></ParamDef> + <ParamDef>int *<Parameter>index</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the values returned by the +<Literal>line</Literal> and <Literal>index</Literal> pointers. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getSelection</Function></FuncDef> + <ParamDef>int *<Parameter>lineFrom</Parameter></ParamDef> + <ParamDef>int *<Parameter>indexFrom</Parameter></ParamDef> + <ParamDef>int *<Parameter>lineTo</Parameter></ParamDef> + <ParamDef>int *<Parameter>indexTo</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the values returned by the +<Literal>lineFrom</Literal>, <Literal>indexFrom</Literal>, +<Literal>lineTo</Literal> and <Literal>indexTo</Literal> pointers. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaAPIs</Title> +<Para> +<Literal>QextScintillaAPIs</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaBase</Title> +<Para> +<Literal>QextScintillaBase</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaCommand</Title> +<Para> +<Literal>QextScintillaCommand</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaCommandSet</Title> +<Para> +<Literal>QextScintillaCommandSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaDocument</Title> +<Para> +<Literal>QextScintillaDocument</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexer</Title> +<Para> +<Literal>QextScintillaLexer</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerBash (QScintilla v1.4+)</Title> +<Para> +<Literal>QextScintillaLexerBash</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerBatch (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerBatch</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerCPP</Title> +<Para> +<Literal>QextScintillaLexerCPP</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerCSharp</Title> +<Para> +<Literal>QextScintillaLexerCSharp</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerCSS (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerCSS</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerDiff (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerDiff</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerHTML (QScintilla v1.1+)</Title> +<Para> +<Literal>QextScintillaLexerHTML</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerIDL</Title> +<Para> +<Literal>QextScintillaLexerIDL</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerJava</Title> +<Para> +<Literal>QextScintillaLexerJava</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerJavaScript</Title> +<Para> +<Literal>QextScintillaLexerJavaScript</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerLua (QScintilla v1.5+)</Title> +<Para> +<Literal>QextScintillaLexerLua</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerMakefile (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerMakefile</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerPerl</Title> +<Para> +<Literal>QextScintillaLexerPerl</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerPOV (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerPOV</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerProperties (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerProperties</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerPython</Title> +<Para> +<Literal>QextScintillaLexerPython</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerRuby (QScintilla v1.5+)</Title> +<Para> +<Literal>QextScintillaLexerRuby</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerSQL (QScintilla v1.1+)</Title> +<Para> +<Literal>QextScintillaLexerSQL</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerTeX (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerTeX</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaMacro</Title> +<Para> +<Literal>QextScintillaMacro</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaPrinter</Title> +<Para> +<Literal>QextScintillaPrinter</Literal> is fully implemented. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtgl</Literal> Module Reference</Title> +<Sect2><Title>QGL</Title> +<Para> +<Literal>QGL</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLContext</Title> +<Para> +<Literal>QGLContext</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLFormat</Title> +<Para> +<Literal>QGLFormat</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLWidget</Title> +<Para> +<Literal>QGLWidget</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QGLColormap (Qt v3.0+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>setEntries</Function></FuncDef> + <ParamDef>int <Parameter>count</Parameter></ParamDef> + <ParamDef>const QRgb *<Parameter>colors</Parameter></ParamDef> + <ParamDef>int <Parameter>base</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtnetwork</Literal> Module Reference</Title> +<Sect2><Title>QDns (Qt v2.2+)</Title> +<Para> +<Literal>QDns</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QFtp (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> +</Sect2> +<Sect2><Title>QHostAddress (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QHostAddress</Function></FuncDef> + <ParamDef>Q_UINT8 *<Parameter>ip6Addr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QHostAddress</Function></FuncDef> + <ParamDef>const Q_IPV6ADDR &<Parameter>ip6Addr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setAddress</Function></FuncDef> + <ParamDef>Q_UINT8 *<Parameter>ip6Addr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>Q_IPV6ADDR <Function>toIPv6Address</Function> const</FuncDef> + <ParamDef><Parameter></Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> +<Sect2><Title>QHttp (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> +</Sect2> + +<Sect2><Title>QHttpHeader (Qt v3.1+)</Title> +<Para> +<Literal>QHttpHeader</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QHttpRequestHeader (Qt v3.1+)</Title> +<Para> +<Literal>QHttpRequestHeader</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QHttpResponseHeader (Qt v3.1+)</Title> +<Para> +<Literal>QHttpResponseHeader</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QLocalFs (Qt v2.1+)</Title> +<Para> +<Literal>QLocalFs</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QServerSocket (Qt v2.2+)</Title> +<Para> +<Literal>QServerSocket</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSocket (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>len</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>Py_None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readLine</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>Py_None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +<Sect2><Title>QSocketDevice (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>len</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtpe</Literal> Module Reference</Title> + +<Sect2><Title>QPEApplication</Title> +<FuncSynopsis> + <FuncDef><Function>QApplication</Function></FuncDef> + <ParamDef>int& <Parameter>argc</Parameter></ParamDef> + <ParamDef>char **<Parameter>argv</Parameter></ParamDef> + <ParamDef>Type <Parameter>type</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes two parameters, the first of which is a list of argument strings. +Arguments used by Qt are removed from the list. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_loop</Literal> in Python. +</Para> +</Sect2> + +<Sect2><Title>AppLnk</Title> +<FuncSynopsis> + <FuncDef>virtual QString <Function>exec</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_property</Literal> in Python. +</Para> +</Sect2> + +<Sect2><Title>AppLnkSet</Title> +<Para> +<Literal>AppLnkSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>Config</Title> +<Para> +<Literal>Config</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>DateFormat</Title> +<Para> +<Literal>DateFormat</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>DocLnk</Title> +<FuncSynopsis> + <FuncDef>QString <Function>exec</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_property</Literal> in Python. +</Para> +</Sect2> + +<Sect2><Title>DocLnkSet</Title> +<Para> +<Literal>DocLnkSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FileManager</Title> +<Para> +<Literal>FileManager</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FileSelector</Title> +<Para> +<Literal>FileSelector</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FileSelectorItem</Title> +<Para> +<Literal>FileSelectorItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FontDatabase</Title> +<Para> +<Literal>FontDatabase</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>Global</Title> +<FuncSynopsis> + <FuncDef>static void <Function>setBuiltinCommands</Function></FuncDef> + <ParamDef>Command *</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>MenuButton</Title> +<Para> +<Literal>MenuButton</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCopEnvelope</Title> +<Para> +<Literal>QCopEnvelope</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDawg</Title> +<Para> +<Literal>QDawg</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QPEMenuBar</Title> +<Para> +<Literal>QPEMenuBar</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QPEToolBar</Title> +<Para> +<Literal>QPEToolBar</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>Resource</Title> +<Para> +<Literal>Resource</Literal> is fully implemented. +</Para> +</Sect2> + +</Sect1> +<Sect1><Title><Literal>qtsql</Literal> Module Reference</Title> +<Sect2><Title>QDataBrowser (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>virtual void <Function>del</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delOnCursor</Literal> in Python. +</Para> +</Sect2> +<Sect2><Title>QDataTable (Qt v3+)</Title> +<Para> +<Literal>QDataTable</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QDataView (Qt v3+)</Title> +<Para> +<Literal>QDataView</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QEditorFactory (Qt v3+)</Title> +<Para> +<Literal>QEditorFactory</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSql (Qt v3+)</Title> +<Para> +<Literal>QSql</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlCursor (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>virtual int <Function>del</Function></FuncDef> + <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delRecords</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>virtual int <Function>del</Function></FuncDef> + <ParamDef>const QString &<Parameter>filter</Parameter></ParamDef> + <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delRecords</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. +</Para> +</Sect2> +<Sect2><Title>QSqlDatabase (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>QSqlQuery <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter> = QString::null</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execStatement</Literal> in Python. +</Para> +</Sect2> +<Sect2><Title>QSqlDriver (Qt v3+)</Title> +<Para> +<Literal>QSqlDriver</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlEditorFactory (Qt v3+)</Title> +<Para> +<Literal>QSqlEditorFactory</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlError (Qt v3+)</Title> +<Para> +<Literal>QSqlError</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlField (Qt v3+)</Title> +<Para> +<Literal>QSqlField</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QSqlFieldInfo (Qt v3+)</Title> +<Para> +<Literal>QSqlFieldInfo</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlForm (Qt v3+)</Title> +<Para> +<Literal>QSqlForm</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlIndex (Qt v3+)</Title> +<Para> +<Literal>QSqlIndex</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlPropertyMap (Qt v3+)</Title> +<Para> +<Literal>QSqlPropertyMap</Literal> is fully implemented. However, because PyQt +does not allow new properties to be defined, it is not possible to implement +custom editor widgets in Python and add them to a property map. These will +simply be ignored. +</Para> + +<Para> +This problem may be addressed in a future release of PyQt. +</Para> +</Sect2> +<Sect2><Title>QSqlQuery (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>QMap<QString,QVariant> <Function>boundValues</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3.2.0+) +</Para> + +<FuncSynopsis> + <FuncDef>virtual bool <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. (Qt v3.1+) +</Para> +</Sect2> +<Sect2><Title>QSqlRecord (Qt v3+)</Title> +<Para> +<Literal>QSqlRecord</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QSqlRecordInfo (Qt v3+)</Title> +<Para> +<Literal>QSqlRecordInfo</Literal> is implemented as a Python list of +<Literal>QSqlFieldInfo</Literal> instances. +</Para> +</Sect2> +<Sect2><Title>QSqlResult (Qt v3+)</Title> +<Para> +<Literal>QSqlResult</Literal> is fully implemented. +</Para> +</Sect2> +<Sect2><Title>QSqlSelectCursor (Qt v3.2.0+)</Title> +<FuncSynopsis> + <FuncDef>int <Function>del</Function></FuncDef> + <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delRecords</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qttable</Literal> Module Reference</Title> +<Sect2><Title>QTable (Qt v2.2+)</Title> +<Para> +<Literal>QTable</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTableItem (Qt v2.2+)</Title> +<Para> +<Literal>QTableItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCheckTableItem (Qt v3+)</Title> +<Para> +<Literal>QCheckTableItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QComboTableItem (Qt v3+)</Title> +<Para> +<Literal>QComboTableItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTableSelection (Qt v2.2+)</Title> +<Para> +<Literal>QTableSelection</Literal> is fully implemented. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtui</Literal> Module Reference</Title> +<Sect2><Title>QWidgetFactory (Qt v3+)</Title> +<Para> +<Literal>QWidgetFactory</Literal> is fully implemented. +</Para> +</Sect2> +</Sect1> +<Sect1><Title><Literal>qtxml</Literal> Module Reference</Title> +<Sect2><Title>QDomImplementation (Qt v2.2+)</Title> +<Para> +<Literal>QDomImplementation</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomNode (Qt v2.2+)</Title> +<Para> +<Literal>QDomNode</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> + +<Sect2><Title>QDomNodeList (Qt v2.2+)</Title> +<Para> +<Literal>QDomNodeList</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomDocument (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QCString &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QByteArray &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QString &<Parameter>text</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>text</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QIODevice *<Parameter>dev</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>dev</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QCString &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QByteArray &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QString &<Parameter>text</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>text</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QIODevice *<Parameter>dev</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>dev</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>QXmlInputSource *<Parameter>source</Parameter></ParamDef> + <ParamDef>QXmlReader *<Parameter>reader</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3.2.0+) +</Para> +</Sect2> + +<Sect2><Title>QDomDocumentFragment (Qt v2.2+)</Title> +<Para> +<Literal>QDomDocumentFragment</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomDocumentType (Qt v2.2+)</Title> +<Para> +<Literal>QDomDocumentType</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomNamedNodeMap (Qt v2.2+)</Title> +<Para> +<Literal>QDomNamedNodeMap</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomCharacterData (Qt v2.2+)</Title> +<Para> +<Literal>QDomCharacterData</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomAttr (Qt v2.2+)</Title> +<Para> +<Literal>QDomAttr</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomElement (Qt v2.2+)</Title> +<Para> +<Literal>QDomElement</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomText (Qt v2.2+)</Title> +<Para> +<Literal>QDomText</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomComment (Qt v2.2+)</Title> +<Para> +<Literal>QDomComment</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomCDATASection (Qt v2.2+)</Title> +<Para> +<Literal>QDomCDATASection</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomNotation (Qt v2.2+)</Title> +<Para> +<Literal>QDomNotation</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomEntity (Qt v2.2+)</Title> +<Para> +<Literal>QDomEntity</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomEntityReference (Qt v2.2+)</Title> +<Para> +<Literal>QDomEntityReference</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomProcessingInstruction (Qt v2.2+)</Title> +<Para> +<Literal>QDomProcessingInstruction</Literal> is fully implemented. +</Para> +</Sect2> +</Sect1> +</Article> diff --git a/doc/qtdocs.sip b/doc/qtdocs.sip new file mode 100644 index 0000000..1113e94 --- /dev/null +++ b/doc/qtdocs.sip @@ -0,0 +1,1920 @@ +// This is the SIP file for organising the PyQt documentation. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module Dummy + + +%Include qt/versions.sip + + +%Doc +<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"> +<Article> +<ArtHeader> + <Title>Python Bindings for Qt (3.18.1)</Title> + <Author> + <FirstName>Phil</FirstName> + <Surname>Thompson</Surname> + </Author> + <Abstract> + <Para> + This document describes a set of Python bindings for the Qt widget set. + Contact the author at <Email>phil@riverbankcomputing.co.uk</Email>. + </Para> + </Abstract> +</ArtHeader> + + +<Sect1><Title>Introduction</Title> +<Para> +PyQt is a set of Python bindings for the Qt toolkit and available for all +platforms supported by Qt, including Windows, Linux, UNIX, MacOS/X and embedded +systems such as the Sharp Zaurus and the Compaq iPAQ. They have been tested +against Qt versions 1.43 to 3.3.6, Qt Non-commercial, Qtopia 1.5.0, and Python +versions 1.5 to 2.4.2. Qt/Embedded v3 is not supported. Qt v4 is supported +by PyQt v4. +</Para> + +<Para> +PyQt is available under the GPL license for use with the GPL version of Qt, a +a commercial license for use with the commercial version of Qt, a +non-commercial license for use with the non-commercial version of Qt v2, and an +educational license for use with the educational version of Qt. +</Para> + +<Para> +There is also an evaluation version of PyQt for Windows. This must be used +with the corresponding evaluation version of Qt. +</Para> + +<Para> +PyQt is built using SIP (a tool for generating Python extension modules for +C++ class libraries). SIP v4.6 or later must be installed in order to build +and run this version of PyQt. +</Para> + +<Para> +PyQt for MacOS/X requires Qt v3.1.0 or later and Python v2.3 or later. +</Para> + +<Para> +The bindings are implemented as a number of Python modules +</Para> + +<ItemizedList> +<ListItem> +<Para> +<Literal>qt</Literal> is the main module and contains the core classes and most +user interface widgets. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtaxcontainer</Literal> contains a sub-set of the classes implemented +in Qt's QAxContainer module, part of Qt's ActiveQt framework. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtcanvas</Literal> contains the classes implemented in Qt's Canvas +module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtgl</Literal> contains the classes implemented in Qt's OpenGL module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtnetwork</Literal> contains the classes implemented in Qt's Network +module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtpe</Literal> contains the classes implemented in Qtopia (originally +called the Qt Palmtop Environment). It is only supported with Qt/Embedded. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtsql</Literal> contains the classes implemented in Qt's SQL module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qttable</Literal> contains the classes implemented in Qt's Table +module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtui</Literal> contains the classes implemented in Qt's qui library. +These allow GUIs to be created directly from Qt Designer's +<Literal>.ui</Literal> files. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtxml</Literal> contains the classes implemented in Qt's XML module. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>qtext</Literal> contains useful third-party classes that are not part +of Qt. At the moment it contains bindings for QScintilla, the port to Qt of +the Scintilla programmer's editor class. +</Para> +</ListItem> +</ItemizedList> + +<Para> +PyQt also includes the <Literal>pyuic</Literal> and +<Literal>pylupdate</Literal> utilities which correspond to the Qt +<Literal>uic</Literal> and <Literal>lupdate</Literal> utilities. +<Literal>pyuic</Literal> converts the GUI designs created with Qt Designer to +executable Python code. <Literal>pylupdate</Literal> scans Python code, +extracts all strings that are candidates for internationalisation, and creates +an XML file for use by Qt Linguist. +</Para> + +<Sect2><Title>Changes</Title> +<Para> +The changes visible to the Python programmer in this release are as follows. +</Para> +<ItemizedList> + +<ListItem> +<Para> +This version requires SIP v4.4 (or later). +</Para> +</ListItem> + +<ListItem> +<Para> +Concatenating Python strings and <Literal>QString</Literal>s is now supported. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QString</Literal> now supports the <Literal>*</Literal> and +<Literal>*=</Literal> operators that behave as they do for Python strings. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QString</Literal> is more interoperable with Python string and unicode +objects. For example they can be passed as arguments to +<Literal>open()</Literal> and to most (but not all) string methods. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QPopupMenu</Literal> (and sub-classes) instances now transfer +ownership of the menu to Python in the call to <Literal>exec_loop()</Literal>. +This means the menu's resources are all released when the Python wrapper is +garbage collected without needing to call +<Literal>QObject.deleteLater()</Literal>. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>QObject.sender()</Literal> now handles Python signals. +</Para> +</ListItem> + +<ListItem> +<Para> +The missing <Literal>MacintoshVersion</Literal> enum has been added. +</Para> +</ListItem> + +<ListItem> +<Para> +<Literal>PYQT_BUILD</Literal> has been removed. +</Para> +</ListItem> + +<ListItem> +<Para> +The convention for converting between a C/C++ null pointer and Python's +<Literal>None</Literal> object has now been universally applied. In previous +versions a null pointer to, for example, a Qt list container would often be +converted to an empty list rather than <Literal>None</Literal>. +</Para> +</ListItem> + +</ItemizedList> +</Sect2> +</Sect1> + + +<Sect1><Title>Other PyQt Goodies</Title> +<Sect2><Title>Using Qt Designer</Title> +<Para> +Qt Designer is a GPL'ed GUI design editor provided by Trolltech as part of Qt. +It generates an XML description of a GUI design. Qt includes +<Literal>uic</Literal> which generates C++ code from that XML. +</Para> + +<Para> +PyQt includes <Literal>pyuic</Literal> which generates Python code from the +same XML. The Python code is self contained and can be executed immediately. +</Para> + +<Para> +It is sometimes useful to be able to include some specific Python code in the +output generated by <Literal>pyuic</Literal>. For example, if you are using +custom widgets, <Literal>pyuic</Literal> has no way of knowing the name of the +Python module containing the widget and so cannot generate the required +<Literal>import</Literal> statement. To help get around this, +<Literal>pyuic</Literal> will extract any lines entered in the +<Literal>Comment</Literal> field of Qt Designer's +<Literal>Form Settings</Literal> dialog that begin with +<Literal>Python:</Literal> and copies them to the generated output. +</Para> + +<Para> +Here's a simple example showing the contents of the <Literal>Comment</Literal> +field. +</Para> + +<ProgramListing> +This comment will be ignored by pyuic. +Python: +Python:# Import our custom widget. +Python:from foo import bar +</ProgramListing> + +<Para> +Here's the corresponding output from <Literal>pyuic</Literal>. +</Para> + +<ProgramListing> +from qt import * + +# Import our custom widget. +from foo import bar +</ProgramListing> + +<Para> +Thanks to Christian Bird, <Literal>pyuic</Literal> will extract Python code +entered using Qt Designer to implement slots. In Qt Designer, when you need to +edit a slot and the source editor appears, enter Python code between the curly +braces. Don't worry about the correct starting indent level, each line is +prepended with a correct indentation. +</Para> + +<Para> +Make sure that the <Literal>ui.h</Literal> file is in the same directory as the +<Literal>.ui</Literal> file when using <Literal>pyuic</Literal>. The +<Literal>.ui</Literal> file implies the name of the <Literal>.ui.h</Literal> +file so there is no need to specify it on the command line. +</Para> + +<Para> +Here's an example of a simple slot. +</Para> + +<ProgramListing> +void DebMainWindowFrm::browsePushButtonClicked() +{ +if self.debugging: + QMessageBox.critical(self, "Event", "browse pushbutton was clicked!") +} +</ProgramListing> + +<Para> +Here is the resulting code when <Literal>pyuic</Literal> is run. +</Para> + +<ProgramListing> +class DebMainWindowFrm(QMainWindow): + ...stuff... + def browsePushButtonClicked(self): + if self.debugging: + QMessageBox.critical(self, "Event", "browse pushbutton was clicked!") +</ProgramListing> + +<Para> +Note that indenting is as normal and that <Literal>self</Literal> and all other +parameters passed to the slot are available. +</Para> + +<Para> +If you use this, you will need to turn off all of the fancy options for the C++ +editor in Designer as it tries to force C++ syntax and that's naturally +annoying when trying to code in Python. +</Para> +</Sect2> + +<Sect2><Title>Using Qt Linguist</Title> +<Para> +Qt includes the <Literal>lupdate</Literal> program which parses C++ source +files converting calls to the <Literal>QT_TR_NOOP()</Literal> and +<Literal>QT_TRANSLATE_NOOP()</Literal> macros to <Literal>.ts</Literal> +language source files. The <Literal>lrelease</Literal> program is then used to +generate <Literal>.qm</Literal> binary language files that are distributed with +your application. +</Para> + +<Para> +Thanks to Detlev Offenbach, PyQt includes the <Literal>pylupdate</Literal> +program. This generates the same <Literal>.ts</Literal> language source files +from your PyQt source files. +</Para> +</Sect2> +</Sect1> + + +<Sect1><Title>Deploying Commercial PyQt Applications</Title> +<Para> +When deploying commercial PyQt applications it is necessary to discourage users +from accessing the underlying PyQt modules for themselves. A user that used +the modules shipped with your application to develop new applications would +themselves be considered a developer and would need their own commercial Qt and +PyQt licenses. +</Para> + +<Para> +One solution to this problem is the +<ULink url="http://www.riverbankcomputing.co.uk/vendorid/">VendorID</ULink> +package. This allows you to build Python extension modules that can only be +imported by a digitally signed custom interpreter. The package enables you to +create such an interpreter with your application embedded within it. The +result is an interpreter that can only run your application, and PyQt modules +that can only be imported by that interpreter. You can use the package to +similarly restrict access to any extension module. +</Para> + +<Para> +In order to build PyQt with support for the VendorID package, pass the +<Literal>-i</Literal> command line flag to <Literal>configure.py</Literal>. +</Para> +</Sect1> + +<Sect1><Title><Literal>pyqtconfig</Literal> and Build System Support</Title> +<Para> +The SIP build system (ie. the <Literal>sipconfig</Literal> module) is described +in the SIP documentation. PyQt includes the <Literal>pyqtconfig</Literal> +module that can be used by configuration scripts of other bindings that are +built on top of PyQt. +</Para> + +<Para> +The <Literal>pyqtconfig</Literal> module contains the following classes: +</Para> + +<VariableList> +<VarListEntry> +<Term><Literal>Configuration(sipconfig.Configuration)</Literal></Term> +<ListItem> +<Para> +This class encapsulates additional configuration values, specific to PyQt, that +can be accessed as instance variables. +</Para> + +<Para> +The following configuration values are provided (in addition to those provided +by the <Literal>sipconfig.Configuration</Literal> class): +</Para> +<VariableList> + +<VarListEntry> +<Term><Literal>pyqt_bin_dir</Literal></Term> +<ListItem> +<Para> +The name of the directory containing the <Literal>pyuic</Literal> and +<Literal>pylupdate</Literal> executables. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_config_args</Literal></Term> +<ListItem> +<Para> +The command line passed to <Literal>configure.py</Literal> when PyQt was +configured. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_mod_dir</Literal></Term> +<ListItem> +<Para> +The name of the directory containing the PyQt modules. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_modules</Literal></Term> +<ListItem> +<Para> +A string containing the names of the PyQt modules that were installed. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qt_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qt</Literal> module and which should be added to those needed by any +module that imports the <Literal>qt</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtaxcontainer_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtaxcontainer</Literal> module and which should be added to those +needed by any module that imports the <Literal>qtaxcontainer</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtcanvas_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtcanvas</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtcanvas</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtext_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtext</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtext</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtgl_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtgl</Literal> module and which should be added to those needed by any +module that imports the <Literal>qtgl</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtnetwork_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtnetwork</Literal> module and which should be added to those needed +by any module that imports the <Literal>qtnetwork</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtsql_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtsql</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtsql</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qttable_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qttable</Literal> module and which should be added to those needed by +any module that imports the <Literal>qttable</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtui_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtui</Literal> module and which should be added to those needed by any +module that imports the <Literal>qtui</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_qtxml_sip_flags</Literal></Term> +<ListItem> +<Para> +A string of the SIP flags used to generate the code for the +<Literal>qtxml</Literal> module and which should be added to those needed by +any module that imports the <Literal>qtxml</Literal> module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_sip_dir</Literal></Term> +<ListItem> +<Para> +The name of the base directory where the <Literal>.sip</Literal> files for each +of the PyQt modules is installed. A sub-directory exists with the same name as +the module. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_version</Literal></Term> +<ListItem> +<Para> +The PyQt version as a 3 part hexadecimal number (eg. v3.10 is represented as +<Literal>0x030a00</Literal>). +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>pyqt_version_str</Literal></Term> +<ListItem> +<Para> +The PyQt version as a string. For development snapshots it will start with +<Literal>snapshot-</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> + +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtModuleMakefile(sipconfig.SIPModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qt</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtAxContainerModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtaxcontainer</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtCanvasModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtcanvas</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtExtModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtext</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtGLModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtgl</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtNetworkModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtnetwork</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtTableModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qttable</Literal> +module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtSQLModuleMakefile(QtTableModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtsql</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtUIModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtui</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +<VarListEntry> +<Term><Literal>QtXMLModuleMakefile(QtModuleMakefile)</Literal></Term> +<ListItem> +<Para> +The Makefile class for modules that import the <Literal>qtxml</Literal> module. +</Para> +<VariableList> +<VarListEntry> +<Term><Literal>finalise(self)</Literal></Term> +<ListItem> +<Para> +This is a reimplementation of <Literal>sipconfig.Makefile.finalise()</Literal>. +</Para> +<Para></Para><Para></Para> +</ListItem> +</VarListEntry> +</VariableList> +</ListItem> +</VarListEntry> + +</VariableList> +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title>Things to be Aware Of</Title> +<Sect2><Title>super and Wrapped Classes</Title> +<Para> +Internally PyQt implements a lazy technique for attribute lookup where +attributes are only placed in type and instance dictionaries when they are +first referenced. This technique is needed to reduce the time taken to import +large modules such as PyQt. +</Para> + +<Para> +In most circumstances this technique is transparent to an application. The +exception is when <Literal>super</Literal> is used with a PyQt class. The way +that <Literal>super</Literal> is currently implemented means that the lazy +lookup is bypassed resulting in <Literal>AttributeError</Literal> exceptions +unless the attribute has been previously referenced. +</Para> + +<Para> +Note that this restriction applies to any class wrapped by SIP and not just +PyQt. +</Para> +</Sect2> + + +<Sect2><Title>Python Strings, Qt Strings and Unicode</Title> +<Para> +Unicode support was added to Qt in v2.0 and to Python in v1.6. In Qt, Unicode +support is implemented using the <Literal>QString</Literal> class. It is +important to understand that <Literal>QString</Literal>s, Python string objects +and Python Unicode objects are all different but conversions between them are +automatic in almost all cases and easy to achieve manually when needed. +</Para> + +<Para> +Whenever PyQt expects a <Literal>QString</Literal> as a function argument, a +Python string object or a Python Unicode object can be provided instead, and +PyQt will do the necessary conversion automatically. +</Para> + +<Para> +You may also manually convert Python string and Unicode objects to +<Literal>QString</Literal>s by using the <Literal>QString</Literal> constructor +as demonstrated in the following code fragment. +</Para> + +<ProgramListing> +qs1 = QString('Converted Python string object') +qs2 = QString(u'Converted Python Unicode object') +</ProgramListing> + +<Para> +In order to convert a <Literal>QString</Literal> to a Python string object use +the Python <Literal>str()</Literal> function. Applying +<Literal>str()</Literal> to a null <Literal>QString</Literal> and an empty +<Literal>QString</Literal> both result in an empty Python string object. +</Para> + +<Para> +In order to convert a <Literal>QString</Literal> to a Python Unicode object use +the Python <Literal>unicode()</Literal> function. Applying +<Literal>unicode()</Literal> to a null <Literal>QString</Literal> and an empty +<Literal>QString</Literal> both result in an empty Python Unicode object. +</Para> +</Sect2> + +<Sect2><Title>Access to Protected Member Functions</Title> +<Para> +When an instance of a C++ class is not created from Python it is not possible +to access the protected member functions, or emit the signals, of that +instance. Attempts to do so will raise a Python exception. Also, any Python +methods corresponding to the instance's virtual member functions will never be +called. +</Para> +</Sect2> + +<Sect2><Title><Literal>None</Literal> and <Literal>NULL</Literal></Title> +<Para> +Throughout the bindings, the <Literal>None</Literal> value can be specified +wherever <Literal>NULL</Literal> is acceptable to the underlying C++ code. +</Para> + +<Para> +Equally, <Literal>NULL</Literal> is converted to <Literal>None</Literal> +whenever it is returned by the underlying C++ code. +</Para> +</Sect2> + + +<Sect2><Title>Support for C++ <Literal>void *</Literal> Data Types</Title> +<Para> +PyQt represents <Literal>void *</Literal> values as objects of type +<Literal>sip.voidptr</Literal>. Such values are often used to pass the +addresses of external objects between different Python modules. To make this +easier, a Python integer (or anything that Python can convert to an integer) +can be used whenever a <Literal>sip.voidptr</Literal> is expected. +</Para> +<Para> +A <Literal>sip.voidptr</Literal> may be converted to a Python integer by using +the <Literal>int()</Literal> builtin function. +</Para> +<Para> +A <Literal>sip.voidptr</Literal> may be converted to a Python string by using +its <Literal>asstring()</Literal> method. The <Literal>asstring()</Literal> +method takes an integer argument which is the length of the data in bytes. +</Para> +</Sect2> + + +<Sect2><Title>Support for Threads</Title> +<Para> +PyQt implements the full set of Qt's thread classes. Python, of course, also +has its own thread extension modules. If you are using SIP v4 (or later) and +Python v2.3.5 (or later) then PyQt does not impose any additional restrictions. +(Read the relevant part of the Qt documentation to understand the restrictions +imposed by the Qt API.) +</Para> +<Para> +If you are using earlier versions of either SIP or Python then it is possible +to use either of the APIs so long as you follow some simple rules. +</Para> +<ItemizedList> +<ListItem> +<Para> +If you use the Qt API then the very first <Literal>import</Literal> of one of +the PyQt modules must be done from the main thread. +</Para> +</ListItem> +<ListItem> +<Para> +If you use the Python API then all calls to PyQt (including any +<Literal>import</Literal>s) must be done from one thread only. Therefore, if +you want to make calls to PyQt from several threads then you must use the Qt +API. +</Para> +</ListItem> +<ListItem> +<Para> +If you want to use both APIs in the same application then all calls to PyQt +must be done from threads created using the Qt API. +</Para> +</ListItem> +</ItemizedList> +<Para> +The above comments actually apply to any SIP generated module, not just PyQt. +</Para> +</Sect2> + +<Sect2><Title>Garbage Collection</Title> +<Para> +C++ does not garbage collect unreferenced class instances, whereas Python does. +In the following C++ fragment both colours exist even though the first can no +longer be referenced from within the program: +</Para> + +<ProgramListing> +c = new QColor(); +c = new QColor(); +</ProgramListing> + +<Para> +In the corresponding Python fragment, the first colour is destroyed when +the second is assigned to <Literal>c</Literal>: +</Para> + +<ProgramListing> +c = QColor() +c = QColor() +</ProgramListing> + +<Para> +In Python, each colour must be assigned to different names. Typically this +is done within class definitions, so the code fragment would be something like: +</Para> + +<ProgramListing> +self.c1 = QColor() +self.c2 = QColor() +</ProgramListing> + +<Para> +Sometimes a Qt class instance will maintain a pointer to another instance and +will eventually call the destructor of that second instance. The most common +example is that a <Literal>QObject</Literal> (and any of its sub-classes) keeps +pointers to its children and will automatically call their destructors. In +these cases, the corresponding Python object will also keep a reference to the +corresponding child objects. +</Para> + +<Para> +So, in the following Python fragment, the first <Literal>QLabel</Literal> is +not destroyed when the second is assigned to <Literal>l</Literal> because the +parent <Literal>QWidget</Literal> still has a reference to it. +</Para> + +<ProgramListing> +p = QWidget() +l = QLabel('First label',p) +l = QLabel('Second label',p) +</ProgramListing> +</Sect2> + +<Sect2><Title>C++ Variables</Title> +<Para> +Access to C++ variables is supported. They are accessed as Python instance +variables. For example: +</Para> + +<ProgramListing> +tab = QTab() +tab.label = "First Tab" +tab.r = QRect(10,10,75,30) +</ProgramListing> + +<Para> +Global variables and static class variables are effectively read-only. They +can be assigned to, but the underlying C++ variable will not be changed. This +may change in the future. +</Para> + +<Para> +Access to protected C++ class variables is not supported. This may change in +the future. +</Para> +</Sect2> + +<Sect2><Title>Multiple Inheritance</Title> +<Para> +It is not possible to define a new Python class that sub-classes from more than +one Qt class. +</Para> +</Sect2> + +<Sect2><Title>i18n Support</Title> +<Para> +Qt implements i18n support through the Qt Linguist application, the +<Literal>QTranslator</Literal> class, and the +<Literal>QApplication::translate()</Literal>, <Literal>QObject::tr()</Literal> +and <Literal>QObject::trUtf8()</Literal> methods. Usually the +<Literal>tr()</Literal> method is used to obtain the correct translation of a +message. The translation process uses a message context to allow the same +message to be translated differently. <Literal>tr()</Literal> is actually +generated by <Literal>moc</Literal> and uses the hardcoded class name as the +context. On the other hand, <Literal>QApplication::translate()</Literal> +allows to context to be explicitly stated. +</Para> + +<Para> +Unfortunately, because of the way Qt implents <Literal>tr()</Literal> (and +<Literal>trUtf8()</Literal>) it is not possible for PyQt to exactly reproduce +its behavour. The PyQt implementation of <Literal>tr()</Literal> (and +<Literal>trUtf8()</Literal>) uses the class name of the instance as the +context. The key difference, and the source of potential problems, is that the +context is determined dynamically in PyQt, but is hardcoded in Qt. In other +words, the context of a translation may change depending on an instance's class +hierarchy. +</Para> + +<ProgramListing> +class A(QObject): + def __init__(self): + QObject.__init__(self) + + def hello(self): + return self.tr("Hello") + +class B(A): + def __init__(self): + A.__init__(self) + +a = A() +a.hello() + +b = B() +b.hello() +</ProgramListing> + +<Para> +In the above the message is translated by <Literal>a.hello()</Literal> using a +context of <Literal>A</Literal>, and by <Literal>b.hello()</Literal> using a +context of <Literal>B</Literal>. In the equivalent C++ version the context +would be <Literal>A</Literal> in both cases. +</Para> + +<Para> +The PyQt behaviour is unsatisfactory and may be changed in the future. It is +recommended that <Literal>QApplication.translate()</Literal> be used in +preference to <Literal>tr()</Literal> (and <Literal>trUtf8()</Literal>). This +is guaranteed to work with current and future versions of PyQt and makes it +much easier to share message files between Python and C++ code. Below is the +alternative implementation of <Literal>A</Literal> that uses +<Literal>QApplication.translate()</Literal>. +</Para> + +<ProgramListing> +class A(QObject): + def __init__(self): + QObject.__init__(self) + + def hello(self): + return qApp.translate("A","Hello") +</ProgramListing> + +<Para> +Note that the code generated by <Literal>pyuic</Literal> uses +<Literal>QApplication.translate()</Literal>. +</Para> +</Sect2> +</Sect1> + + +<Sect1><Title>Signal and Slot Support</Title> +<Para> +A signal may be either a Qt signal (specified using +<Literal>SIGNAL()</Literal>) or a Python signal (specified using +<Literal>PYSIGNAL()</Literal>). +</Para> + +<Para> +A slot can be either a Python callable object, a Qt signal (specified using +<Literal>SIGNAL()</Literal>), a Python signal (specified using +<Literal>PYSIGNAL()</Literal>), or a Qt slot (specified using +<Literal>SLOT()</Literal>). +</Para> + +<Para> +You connect signals to slots (and other signals) as you would from C++. For +example: +</Para> + +<ProgramListing> +QObject.connect(a,SIGNAL("QtSig()"),pyFunction) +QObject.connect(a,SIGNAL("QtSig()"),pyClass.pyMethod) +QObject.connect(a,SIGNAL("QtSig()"),PYSIGNAL("PySig")) +QObject.connect(a,SIGNAL("QtSig()"),SLOT("QtSlot()")) +QObject.connect(a,PYSIGNAL("PySig"),pyFunction) +QObject.connect(a,PYSIGNAL("PySig"),pyClass.pyMethod) +QObject.connect(a,PYSIGNAL("PySig"),SIGNAL("QtSig()")) +QObject.connect(a,PYSIGNAL("PySig"),SLOT("QtSlot()")) +</ProgramListing> + +<Para> +When a slot is a Python method that corresponds to a Qt slot then a signal can +be connected to either the Python method or the Qt slot. The following +connections achieve the same effect. +</Para> + +<ProgramListing> +sbar = QScrollBar() +lcd = QLCDNumber() + +QObject.connect(sbar,SIGNAL("valueChanged(int)"),lcd.display) +QObject.connect(sbar,SIGNAL("valueChanged(int)"),lcd,SLOT("display(int)")) +</ProgramListing> + +<Para> +The difference is that the second connection is made at the C++ level and is +more efficient. +</Para> + +<Para> +Disconnecting signals works in exactly the same way. +</Para> + +<Para> +Any instance of a class that is derived from the <Literal>QObject</Literal> +class can emit a signal using the <Literal>emit</Literal> method. This takes +two arguments. The first is the Python or Qt signal, the second is a Python +tuple which are the arguments to the signal. For example: +</Para> + +<ProgramListing> +a.emit(SIGNAL("clicked()"),()) +a.emit(PYSIGNAL("pySig"),("Hello","World")) +</ProgramListing> + +<Para> +Note that when a slot is a Python callable object its reference count is not +increased. This means that a class instance can be deleted without having to +explicitly disconnect any signals connected to its methods. However, it also +means that using lambda expressions as slots will not work unless you keep a +separate reference to the expression to prevent it from being immediately +garbage collected. +</Para> + +<Para> +Qt allows a signal to be connected to a slot that requires fewer arguments than +the signal passes. The extra arguments are quietly discarded. Python slots +can be used in the same way. +</Para> +</Sect1> + + +<Sect1><Title>Static Member Functions</Title> +<Para> +Static member functions are implemented as Python class functions. +For example the C++ static member function +<Literal>QObject::connect()</Literal> is called from Python as +<Literal>QObject.connect()</Literal> or <Literal>self.connect()</Literal> if +called from a sub-class of <Literal>QObject</Literal>. +</Para> +</Sect1> + + +<Sect1><Title>Enumerated Types</Title> +<Para> +Enumerated types are implemented as a set of simple variables corresponding to +the separate enumerated values. +</Para> + +<Para> +When using an enumerated value the name of the class (or a sub-class) in which +the enumerated type was defined in must be included. For example: +</Para> + +<ProgramListing> +Qt.SolidPattern +QWidget.TabFocus +QFrame.TabFocus +</ProgramListing> +</Sect1> + + +<Sect1><Title>Module Reference Documentation</Title> +<Para> +The following sections should be used in conjunction with the normal class +documentation - only the differences specific to the Python bindings are +documented here. +</Para> + +<Para> +In these sections, <Emphasis>Not yet implemented</Emphasis> +implies that the feature can be easily implemented if needed. <Emphasis>Not +implemented</Emphasis> implies that the feature will not be implemented, either +because it cannot be or because it is not appropriate. +</Para> + +<Para> +If a class is described as being <Emphasis>fully implemented</Emphasis> then +all non-private member functions and all public class variables have been +implemented. +</Para> + +<Para> +If an operator has been implemented then it is stated explicitly. +</Para> + +<Para> +Classes that are not mentioned have not yet been implemented. +</Para> +</Sect1> + + +<Sect1><Title><Literal>qt</Literal> Module Reference</Title> +%End + +%Include qt/qglobal.sip +%Include qt/qwindowdefs.sip +%Include qt/qnamespace.sip + +%Include qt/qaccel.sip +%Include qt/qaction.sip +%Include qt/qapplication.sip +%Include qt/qassistantclient.sip +%Include qt/qbitmap.sip +%Include qt/qbrush.sip +%Include qt/qbutton.sip +%Include qt/qbuttongroup.sip +%Include qt/qbytearray.sip +%Include qt/qcdestyle.sip +%Include qt/qcheckbox.sip +%Include qt/qclipboard.sip +%Include qt/qcolor.sip +%Include qt/qcolordialog.sip +%Include qt/qcolorgroup.sip +%Include qt/qcombobox.sip +%Include qt/qcommonstyle.sip +%Include qt/qcstring.sip +%Include qt/qcursor.sip +%Include qt/qdatastream.sip +%Include qt/qdatetime.sip +%Include qt/qdatetimeedit.sip +%Include qt/qdesktopwidget.sip +%Include qt/qdial.sip +%Include qt/qdialog.sip +%Include qt/qdir.sip +%Include qt/qdockarea.sip +%Include qt/qdockwindow.sip +%Include qt/qdragobject.sip +%Include qt/qdrawutil.sip +%Include qt/qdropsite.sip +%Include qt/qerrormessage.sip +%Include qt/qevent.sip +%Include qt/qeventloop.sip +%Include qt/qfile.sip +%Include qt/qfiledialog.sip +%Include qt/qfileinfo.sip +%Include qt/qfont.sip +%Include qt/qfontdatabase.sip +%Include qt/qfontdialog.sip +%Include qt/qfontinfo.sip +%Include qt/qfontmetrics.sip +%Include qt/qframe.sip +%Include qt/qgmanager.sip +%Include qt/qgrid.sip +%Include qt/qgridview.sip +%Include qt/qgroupbox.sip +%Include qt/qhbox.sip +%Include qt/qhbuttongroup.sip +%Include qt/qheader.sip +%Include qt/qhgroupbox.sip +%Include qt/qiconset.sip +%Include qt/qiconview.sip +%Include qt/qimage.sip +%Include qt/qinputdialog.sip +%Include qt/qinterlacestyle.sip +%Include qt/qiodevice.sip +%Include qt/qkeycode.sip +%Include qt/qkeysequence.sip +%Include qt/qlabel.sip +%Include qt/qlayout.sip +%Include qt/qlcdnumber.sip +%Include qt/qlibrary.sip +%Include qt/qlineedit.sip +%Include qt/qlist.sip +%Include qt/qlistbox.sip +%Include qt/qlistview.sip +%Include qt/qlocale.sip +%Include qt/qmainwindow.sip +%Include qt/qmemarray.sip +%Include qt/qmenubar.sip +%Include qt/qmenudata.sip +%Include qt/qmessagebox.sip +%Include qt/qmetaobject.sip +%Include qt/qmime.sip +%Include qt/qmotifplusstyle.sip +%Include qt/qmotifstyle.sip +%Include qt/qmovie.sip +%Include qt/qmultilinedit.sip +%Include qt/qmutex.sip +%Include qt/qnetworkprotocol.sip +%Include qt/qobject.sip +%Include qt/qobjectcleanuphandler.sip +%Include qt/qobjectlist.sip +%Include qt/qpaintdevicemetrics.sip +%Include qt/qpaintdevice.sip +%Include qt/qpainter.sip +%Include qt/qpalette.sip +%Include qt/qpixmap.sip +%Include qt/qpixmapcache.sip +%Include qt/qpair.sip +%Include qt/qpen.sip +%Include qt/qpicture.sip +%Include qt/qplatinumstyle.sip +%Include qt/qpoint.sip +%Include qt/qpointarray.sip +%Include qt/qpopupmenu.sip +%Include qt/qprintdialog.sip +%Include qt/qprinter.sip +%Include qt/qprocess.sip +%Include qt/qprogressbar.sip +%Include qt/qprogressdialog.sip +%Include qt/qptrlist.sip +%Include qt/qpushbutton.sip +%Include qt/qradiobutton.sip +%Include qt/qrangecontrol.sip +%Include qt/qrect.sip +%Include qt/qregexp.sip +%Include qt/qregion.sip +%Include qt/qscrollbar.sip +%Include qt/qscrollview.sip +%Include qt/qsemaphore.sip +%Include qt/qsemimodal.sip +%Include qt/qsessionmanager.sip +%Include qt/qsettings.sip +%Include qt/qsgistyle.sip +%Include qt/qsignalmapper.sip +%Include qt/qsimplerichtext.sip +%Include qt/qsize.sip +%Include qt/qsizegrip.sip +%Include qt/qsizepolicy.sip +%Include qt/qslider.sip +%Include qt/qsocketnotifier.sip +%Include qt/qsound.sip +%Include qt/qspinbox.sip +%Include qt/qsplashscreen.sip +%Include qt/qsplitter.sip +%Include qt/qstatusbar.sip +%Include qt/qstring.sip +%Include qt/qstringlist.sip +%Include qt/qstrlist.sip +%Include qt/qstyle.sip +%Include qt/qstylesheet.sip +%Include qt/qsyntaxhighlighter.sip +%Include qt/qtabbar.sip +%Include qt/qtabdialog.sip +%Include qt/qtableview.sip +%Include qt/qtabwidget.sip +%Include qt/qtextbrowser.sip +%Include qt/qtextcodec.sip +%Include qt/qtextedit.sip +%Include qt/qtextstream.sip +%Include qt/qtextview.sip +%Include qt/qthread.sip +%Include qt/qtimer.sip +%Include qt/qtoolbar.sip +%Include qt/qtoolbox.sip +%Include qt/qtoolbutton.sip +%Include qt/qtooltip.sip +%Include qt/qtranslator.sip +%Include qt/qurl.sip +%Include qt/qurlinfo.sip +%Include qt/qurloperator.sip +%Include qt/quuid.sip +%Include qt/qvalidator.sip +%Include qt/qvaluelist.sip +%Include qt/qvariant.sip +%Include qt/qvbox.sip +%Include qt/qvbuttongroup.sip +%Include qt/qvgroupbox.sip +%Include qt/qwaitcondition.sip +%Include qt/qwhatsthis.sip +%Include qt/qwidget.sip +%Include qt/qwidgetlist.sip +%Include qt/qwidgetstack.sip +%Include qt/qwindow.sip +%Include qt/qwindowsstyle.sip +%Include qt/qwindowsxpstyle.sip +%Include qt/qwizard.sip +%Include qt/qwmatrix.sip +%Include qt/qworkspace.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtaxcontainer</Literal> Module Reference</Title> +%End + +%Include qtaxcontainer/qaxbase.sip +%Include qtaxcontainer/qaxobject.sip +%Include qtaxcontainer/qaxwidget.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtcanvas</Literal> Module Reference</Title> +%End + +%Include qtcanvas/qcanvas.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtext</Literal> Module Reference</Title> + +<Sect2><Title>QextScintilla</Title> +<FuncSynopsis> + <FuncDef>void <Function>getCursorPosition</Function></FuncDef> + <ParamDef>int *<Parameter>line</Parameter></ParamDef> + <ParamDef>int *<Parameter>index</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the values returned by the +<Literal>line</Literal> and <Literal>index</Literal> pointers. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getSelection</Function></FuncDef> + <ParamDef>int *<Parameter>lineFrom</Parameter></ParamDef> + <ParamDef>int *<Parameter>indexFrom</Parameter></ParamDef> + <ParamDef>int *<Parameter>lineTo</Parameter></ParamDef> + <ParamDef>int *<Parameter>indexTo</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the values returned by the +<Literal>lineFrom</Literal>, <Literal>indexFrom</Literal>, +<Literal>lineTo</Literal> and <Literal>indexTo</Literal> pointers. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaAPIs</Title> +<Para> +<Literal>QextScintillaAPIs</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaBase</Title> +<Para> +<Literal>QextScintillaBase</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaCommand</Title> +<Para> +<Literal>QextScintillaCommand</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaCommandSet</Title> +<Para> +<Literal>QextScintillaCommandSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaDocument</Title> +<Para> +<Literal>QextScintillaDocument</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexer</Title> +<Para> +<Literal>QextScintillaLexer</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerBash (QScintilla v1.4+)</Title> +<Para> +<Literal>QextScintillaLexerBash</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerBatch (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerBatch</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerCPP</Title> +<Para> +<Literal>QextScintillaLexerCPP</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerCSharp</Title> +<Para> +<Literal>QextScintillaLexerCSharp</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerCSS (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerCSS</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerDiff (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerDiff</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerHTML (QScintilla v1.1+)</Title> +<Para> +<Literal>QextScintillaLexerHTML</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerIDL</Title> +<Para> +<Literal>QextScintillaLexerIDL</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerJava</Title> +<Para> +<Literal>QextScintillaLexerJava</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerJavaScript</Title> +<Para> +<Literal>QextScintillaLexerJavaScript</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerLua (QScintilla v1.5+)</Title> +<Para> +<Literal>QextScintillaLexerLua</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerMakefile (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerMakefile</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerPerl</Title> +<Para> +<Literal>QextScintillaLexerPerl</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerPOV (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerPOV</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerProperties (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerProperties</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerPython</Title> +<Para> +<Literal>QextScintillaLexerPython</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerRuby (QScintilla v1.5+)</Title> +<Para> +<Literal>QextScintillaLexerRuby</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerSQL (QScintilla v1.1+)</Title> +<Para> +<Literal>QextScintillaLexerSQL</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaLexerTeX (QScintilla v1.6+)</Title> +<Para> +<Literal>QextScintillaLexerTeX</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaMacro</Title> +<Para> +<Literal>QextScintillaMacro</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QextScintillaPrinter</Title> +<Para> +<Literal>QextScintillaPrinter</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtgl</Literal> Module Reference</Title> +%End + +%Include qtgl/qgl.sip +%Include qtgl/qglcolormap.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtnetwork</Literal> Module Reference</Title> +%End + +%Include qtnetwork/qdns.sip +%Include qtnetwork/qftp.sip +%Include qtnetwork/qhostaddress.sip +%Include qtnetwork/qhttp.sip +%Include qtnetwork/qlocalfs.sip +%Include qtnetwork/qnetwork.sip +%Include qtnetwork/qserversocket.sip +%Include qtnetwork/qsocket.sip +%Include qtnetwork/qsocketdevice.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtpe</Literal> Module Reference</Title> + +<Sect2><Title>QPEApplication</Title> +<FuncSynopsis> + <FuncDef><Function>QApplication</Function></FuncDef> + <ParamDef>int& <Parameter>argc</Parameter></ParamDef> + <ParamDef>char **<Parameter>argv</Parameter></ParamDef> + <ParamDef>Type <Parameter>type</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes two parameters, the first of which is a list of argument strings. +Arguments used by Qt are removed from the list. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_loop</Literal> in Python. +</Para> +</Sect2> + +<Sect2><Title>AppLnk</Title> +<FuncSynopsis> + <FuncDef>virtual QString <Function>exec</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_property</Literal> in Python. +</Para> +</Sect2> + +<Sect2><Title>AppLnkSet</Title> +<Para> +<Literal>AppLnkSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>Config</Title> +<Para> +<Literal>Config</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>DateFormat</Title> +<Para> +<Literal>DateFormat</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>DocLnk</Title> +<FuncSynopsis> + <FuncDef>QString <Function>exec</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_property</Literal> in Python. +</Para> +</Sect2> + +<Sect2><Title>DocLnkSet</Title> +<Para> +<Literal>DocLnkSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FileManager</Title> +<Para> +<Literal>FileManager</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FileSelector</Title> +<Para> +<Literal>FileSelector</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FileSelectorItem</Title> +<Para> +<Literal>FileSelectorItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>FontDatabase</Title> +<Para> +<Literal>FontDatabase</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>Global</Title> +<FuncSynopsis> + <FuncDef>static void <Function>setBuiltinCommands</Function></FuncDef> + <ParamDef>Command *</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>MenuButton</Title> +<Para> +<Literal>MenuButton</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCopEnvelope</Title> +<Para> +<Literal>QCopEnvelope</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDawg</Title> +<Para> +<Literal>QDawg</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QPEMenuBar</Title> +<Para> +<Literal>QPEMenuBar</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QPEToolBar</Title> +<Para> +<Literal>QPEToolBar</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>Resource</Title> +<Para> +<Literal>Resource</Literal> is fully implemented. +</Para> +</Sect2> + +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtsql</Literal> Module Reference</Title> +%End + +%Include qtsql/qdatabrowser.sip +%Include qtsql/qdatatable.sip +%Include qtsql/qdataview.sip +%Include qtsql/qeditorfactory.sip +%Include qtsql/qsql.sip +%Include qtsql/qsqlcursor.sip +%Include qtsql/qsqldatabase.sip +%Include qtsql/qsqldriver.sip +%Include qtsql/qsqleditorfactory.sip +%Include qtsql/qsqlerror.sip +%Include qtsql/qsqlfield.sip +%Include qtsql/qsqlform.sip +%Include qtsql/qsqlindex.sip +%Include qtsql/qsqlpropertymap.sip +%Include qtsql/qsqlquery.sip +%Include qtsql/qsqlrecord.sip +%Include qtsql/qsqlresult.sip +%Include qtsql/qsqlselectcursor.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qttable</Literal> Module Reference</Title> +%End + +%Include qttable/qtable.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtui</Literal> Module Reference</Title> +%End + +%Include qtui/qwidgetfactory.sip + +%ExportedDoc +</Sect1> +%End + + +%ExportedDoc +<Sect1><Title><Literal>qtxml</Literal> Module Reference</Title> +%End + +%Include qtxml/qdom.sip + +%ExportedDoc +</Sect1> +%End + + +%Doc +</Article> +%End |