<HTML ><HEAD ><TITLE >Python Bindings for Qt (v2.5)</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.61 "><LINK REL="NEXT" TITLE="Other PyQt Goodies" HREF="x103.html"></HEAD ><BODY CLASS="ARTICLE" ><DIV CLASS="ARTICLE" ><DIV CLASS="TITLEPAGE" ><H1 CLASS="TITLE" ><A NAME="AEN2" >Python Bindings for Qt (v2.5)</A ></H1 ><H3 CLASS="AUTHOR" ><A NAME="AEN4" >Phil Thompson</A ></H3 ><DIV ><DIV CLASS="ABSTRACT" ><A NAME="AEN7" ></A ><P ></P ><P > This document describes a set of Python bindings for the Qt widget set. Contact the author at <TT CLASS="EMAIL" ><<A HREF="mailto:phil@river-bank.demon.co.uk" >phil@river-bank.demon.co.uk</A >></TT >. </P ><P ></P ></DIV ></DIV ><HR></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="AEN10" >Introduction</A ></H1 ><P >PyQt is a set of Python bindings for the Qt toolkit. The bindings are implemented as a single Python module <TT CLASS="LITERAL" >qt</TT >. A separate Python module <TT CLASS="LITERAL" >qtgl</TT > implements OpenGL support. They have been tested against Qt versions 1.42 to 2.3.1, Qt Non-commercial and Python versions 1.5 to 2.1.1.</P ><P >PyQt also includes the <TT CLASS="LITERAL" >pyuic</TT > PyQt code generator used as a backend for the Qt Designer GUI design tool.</P ><P >Finally, PyQt also includes a debugger called <TT CLASS="LITERAL" >eric</TT >.</P ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN19" >Changes</A ></H2 ><P >The changes visible to the Python programmer in this release are as follows.</P ><P ></P ><UL ><LI ><P >Added the <TT CLASS="LITERAL" >qtgl</TT > module which includes the <TT CLASS="LITERAL" >QGL</TT >, <TT CLASS="LITERAL" >QGLContext</TT >, <TT CLASS="LITERAL" >QGLFormat</TT > and <TT CLASS="LITERAL" >QGLWidget</TT > classes, and the <TT CLASS="LITERAL" >gears.py</TT > example script.</P ></LI ><LI ><P >The <TT CLASS="LITERAL" >QInterlaceStyle</TT > is disabled if building against Qt v2.3.0.</P ></LI ><LI ><P >The following classes have been added: <TT CLASS="LITERAL" >Display</TT >, <TT CLASS="LITERAL" >QDataStream</TT >, <TT CLASS="LITERAL" >QDomAttr</TT >, <TT CLASS="LITERAL" >QDomCDATASection</TT >, <TT CLASS="LITERAL" >QDomCharacterData</TT >, <TT CLASS="LITERAL" >QDomComment</TT >, <TT CLASS="LITERAL" >QDomDocument</TT >, <TT CLASS="LITERAL" >QDomDocumentFragment</TT >, <TT CLASS="LITERAL" >QDomDocumentType</TT >, <TT CLASS="LITERAL" >QDomElement</TT >, <TT CLASS="LITERAL" >QDomEntity</TT >, <TT CLASS="LITERAL" >QDomEntityReference</TT >, <TT CLASS="LITERAL" >QDomImplementation</TT >, <TT CLASS="LITERAL" >QDomNamedNodeMap</TT >, <TT CLASS="LITERAL" >QDomNode</TT >, <TT CLASS="LITERAL" >QDomNodeList</TT >, <TT CLASS="LITERAL" >QDomNotation</TT >, <TT CLASS="LITERAL" >QDomProcessingInstruction</TT >, <TT CLASS="LITERAL" >QDomText</TT > and <TT CLASS="LITERAL" >QTranslatorMessage</TT >.</P ></LI ><LI ><P ><TT CLASS="LITERAL" >NULL</TT > instances of <TT CLASS="LITERAL" >QCanvasItemList</TT >, <TT CLASS="LITERAL" >QFileInfoList</TT >, <TT CLASS="LITERAL" >QObjectList</TT >, <TT CLASS="LITERAL" >QStrList</TT > and <TT CLASS="LITERAL" >QWidgetList</TT > are now converted to an empty Python list rather than <TT CLASS="LITERAL" >None</TT >.</P ></LI ><LI ><P >The <TT CLASS="LITERAL" >Custom</TT > value was added to <TT CLASS="LITERAL" >QPrinter.PageSize</TT >. (Qt v2.3.1)</P ></LI ><LI ><P >The following missing methods have been added: <TT CLASS="LITERAL" >QColor.getHsv()</TT >, <TT CLASS="LITERAL" >QInputDialog.getText()</TT >, <TT CLASS="LITERAL" >QPaintDevice.x11AppDisplay()</TT >, <TT CLASS="LITERAL" >QPaintDevice.x11Display()</TT >, <TT CLASS="LITERAL" >QPaintDevice.x11SetAppDpiX()</TT >, <TT CLASS="LITERAL" >QPaintDevice.x11SetAppDpiY()</TT >, <TT CLASS="LITERAL" >QPixmap.save()</TT >, <TT CLASS="LITERAL" >QTranslator.contains()</TT >, <TT CLASS="LITERAL" >QTranslator.find()</TT >, <TT CLASS="LITERAL" >QTranslator.findMessage()</TT >, <TT CLASS="LITERAL" >QTranslator.insert()</TT >, <TT CLASS="LITERAL" >QTranslator.remove()</TT >, <TT CLASS="LITERAL" >QTranslator.squeeze()</TT >, <TT CLASS="LITERAL" >QWidget.customEvent()</TT > and <TT CLASS="LITERAL" >QWidget.reparent()</TT >.</P ></LI ><LI ><P >The following missing functions have been added: <TT CLASS="LITERAL" >qt_xdisplay()</TT >, <TT CLASS="LITERAL" >qt_xscreen()</TT > and <TT CLASS="LITERAL" >qt_xrootwin()</TT >.</P ></LI ><LI ><P >A long standing problem where PyQt was unable to distinguish between overloaded methods with similar signatures (eg. <TT CLASS="LITERAL" >QWMatrix.map(int,int)</TT > and <TT CLASS="LITERAL" >QWMatrix.map(double,double)</TT >) has been resolved. This affects the following methods: <TT CLASS="LITERAL" >QCString.setNum()</TT >, <TT CLASS="LITERAL" >QLabel.setNum()</TT >, <TT CLASS="LITERAL" >QLCDNumber.checkOverflow()</TT >, <TT CLASS="LITERAL" >QString.arg()</TT >, <TT CLASS="LITERAL" >QString.number()</TT >, <TT CLASS="LITERAL" >QString.setNum()</TT >, <TT CLASS="LITERAL" >QVariant()</TT > and <TT CLASS="LITERAL" >QWMatrix.map()</TT >.</P ></LI ></UL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="x103.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Other PyQt Goodies</TD ></TR ></TABLE ></DIV ></BODY ></HTML >