FPC Qt4 Binding



Goal:

Provide a Qt4 binding for FreePascal that may be of use
to provide the Lazarus LCL library with a Qt interface

This binding does not aim to cover the whole Qt4 framework,
but only just enough to satisfy the LCL needs.
If any LCL/Qt developer needs an extra class, just ask and it will be added promptly.
Some of the methods that have parameters based upon templates have been omitted.
If however you need any of those, just ask.

If you have problems compiling or installing, please contact me on:
Lazarus LCL/Qt Mailing List

Screenshots:

The following screenshots provide a glimpse of results achieved
Click on the thumnails for larger images.

screenshot
FPC Qt4 Demos

FPC Qt4 on OsX

FPC Qt4 on MS Windows

Lazarus/Qt Linux

Lazarus/Qt Mac OS X

Lazarus/Qt FreeBSD

Lazarus Qtopia Gumstix Project

WebKit Demo

Lazarus Embedded




































Download

Refresh your page (F5) if you have link problems

Version info

V1.72: 21 Sep 2009: Improved signal hooking/method overriding, Windows:renamed types likes HDC to avoid name clashes
V1.71: 15 Sep 2009: Qt 4.5.2, WebKit improvements (qlclwebpage/qlclwebview/qlclnetworkcookie),qlclthread, versioning, lclwebkit demo
V1.70: 20 Apr 2009: Qt 4.5.0 added Qt-Embedded(small fix), Linux 64
V1.69: 19 Apr 2009: Qt 4.5.0 Linux, Windows and OsX
V1.68: 06 Nov 2008: Compile script enhancement, Qtopia fix(qrgb again)
V1.67: 04 Nov 2008: Qtopia fixes(defines/qrgb), QVector support, TIntArray->TPtrIntArray (clarity), QList, better compile scripts (all platforms)
V1.66: 30 Sep 2008: QPrinterInfo_availablePrinters
V1.65: 29 Sep 2008: Fixed 64bit compilation, QSysInfo_windowsVersion,QPrinterInfo_supportedPaperSizes
V1.64: 21 Sep 2008: Qt4.4.2, Added QTextLayout,QChar,QString,QPrintPreviewDialog,QPrintPreviewWidget,QPrinterInfo,QDockWidget,QUrl QFileSystemWatcher,QStyledItemDelegate
V1.63: 17 Sep 2008: Qt4.4.1
V1.62: 27 Apr 2008: Qt4.3.4, Added Qtopia support, Added QProcess, QPageSetupDialog, QAbstractTextDocumentLayout, q_DrawShadeLine, q_DrawShadePanel
V1.61: 21 Feb 2008: Fixed 64bit compilation (typedef of PTRUINT), Added QObject_children, Qt 4.2.3 Support dropped as agreed on ML
V1.60: 15 Jan 2008: added 64bit support in qlclmessageevent.h
V1.59: 09 Jan 2008: Added more routines from qdrawutil.h
V1.58: 08 Jan 2008: Added q_DrawShadeRect,q_DrawPlainRect,Fixed Mac OS X (was broken due to FreeBSD support)
V1.57: 04 Jan 2008: Enhanced parsing of enums


Qt 4.5.0..4.5.3

  For lazarus svn >= 21913: No need to use USE_QT_45, minimum binding version V1.72
  Linux: make PREFIX=/usr clean all LCL_PLATFORM=qt 
  MAC: make clean all LCL_PLATFORM=qt OPT="-k'-framework' -k'Qt4Intf' -k'-lobjc' -k'-framework' -k'Foundation'"
  

  For Lazarus svn 19501..21913, Qt 4.5 support available with bindings V1.69..V1.71 through option USE_QT_45
  Linux: make PREFIX=/usr clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45"
  MAC: make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 -k'-framework' -k'Qt4Intf' -k'-lobjc' -k'-framework' -k'Foundation'"
  USE_QT_45 was default on platform windows (see qtdefines.inc)
  
V1.72
Lazarus LCL/Qt WebKit demo
This is not meant to be full blown browser,
just basic usage demoes of cookies,proxy,authentication,flash ...
Needs Binding >= V1.72 (lazarus svn 21913)
LCL WebKit Demo

V1.70
  For Lazarus 0.9.28: needs option USE_QT_45
  Linux: make PREFIX=/usr clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45"
  MAC: make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 -k'-framework' -k'Qt4Intf' -k'-lobjc' -k'-framework' -k'Foundation'"
  USE_QT_45 was default on platform windows (see qtdefines.inc)
  



Links:

Documentation about this Qt4 Binding for FreePascal can be found on:
FPC Wiki: Qt4 binding

Progress on the Lazarus interface can be followed on:
Lazarus Wiki: Qt interface

FPC Wiki about Qt in general

Qt/Embedded Binding

Contact:

Feedback/Comments are welcome on the following ML:
Lazarus LCL/Qt Mailing List



Qt and CLX for FPC on Sourceforge


FPC (Free Pascal) Home page


Online FPC Manuals


FPC-Pascal Mailing list archives


FPC-Devel Mailing list archives


Lazarus Mailing list archives (threaded)


Lazarus Mailing list archives (bloggy)


FPC Wiki Page


Qt 4 Documentation


Lazarus