Difference between revisions of "Qt Interface/es"
Line 29: | Line 29: | ||
La mayoría de las distribuciones tienen ahora los paquetes de Qt4. Si su distribución está basada en RPM se puede buscar un paquete qt4 aquí: http://rpm.pbone.net/index.php3/stat/2/simple/2 <br> | La mayoría de las distribuciones tienen ahora los paquetes de Qt4. Si su distribución está basada en RPM se puede buscar un paquete qt4 aquí: http://rpm.pbone.net/index.php3/stat/2/simple/2 <br> | ||
− | + | '''La versión compatible debe ser Qt 4.5.0 o superior''' | |
===Problemas conocidos en Linux=== | ===Problemas conocidos en Linux=== |
Revision as of 20:50, 12 November 2009
│
English (en) │
español (es) │
日本語 (ja) │
Introducción
El conjunto de artefactos Qt4 está en desarrollo.
Esta interfaz se basa en Qt4 y su correspondiente documentación está aquí.
Other Interfaces
- Lazarus known issues (things that will never be fixed) - A list of interface compatibility issues
- Win32/64 Interface - The Windows API (formerly Win32 API) interface for Windows 95/98/Me/2000/XP/Vista/10, but not CE
- Windows CE Interface - For Pocket PC and Smartphones
- Carbon Interface - The Carbon 32 bit interface for macOS (deprecated; removed from macOS 10.15)
- Cocoa Interface - The Cocoa 64 bit interface for macOS
- Qt Interface - The Qt4 interface for Unixes, macOS, Windows, and Linux-based PDAs
- Qt5 Interface - The Qt5 interface for Unixes, macOS, Windows, and Linux-based PDAs
- GTK1 Interface - The gtk1 interface for Unixes, macOS (X11), Windows
- GTK2 Interface - The gtk2 interface for Unixes, macOS (X11), Windows
- GTK3 Interface - The gtk3 interface for Unixes, macOS (X11), Windows
- fpGUI Interface - Based on the fpGUI library, which is a cross-platform toolkit completely written in Object Pascal
- Custom Drawn Interface - A cross-platform LCL backend written completely in Object Pascal inside Lazarus. The Lazarus interface to Android.
Platform specific Tips
- Android Programming - For Android smartphones and tablets
- iPhone/iPod development - About using Objective Pascal to develop iOS applications
- FreeBSD Programming Tips - FreeBSD programming tips
- Linux Programming Tips - How to execute particular programming tasks in Linux
- macOS Programming Tips - Lazarus tips, useful tools, Unix commands, and more...
- WinCE Programming Tips - Using the telephone API, sending SMSes, and more...
- Windows Programming Tips - Desktop Windows programming tips
Interface Development Articles
- Carbon interface internals - If you want to help improving the Carbon interface
- Windows CE Development Notes - For Pocket PC and Smartphones
- Adding a new interface - How to add a new widget set interface
- LCL Defines - Choosing the right options to recompile LCL
- LCL Internals - Some info about the inner workings of the LCL
- Cocoa Internals - Some info about the inner workings of the Cocoa widgetset
Guía de inicio rápida para Linux
Lo primero qu hay que hacer es ir a la página web oficial del enlace y descargar los binarios Qt del enlace. Copia el archivo libqt4intf.so en el directorio /usr/lib/ o /usr/local/lib. Ahora ejecuta ldconfig para actualizar la memoria tampón del enlazador. Puedes verificar el éxito de la operación mediante la ejecución de:
ldconfig -p | grep libqt4intf
Que dará un resulta parecido a este:
libqt4intf.so (libc6) => / usr/local/lib/libqt4intf.so
Si no funciona, tienes que comprobar los archivos de configuración en /etc/ld.so.conf.d/ o el archivo de configuración /etc/ld.so.conf, según tu distribución -que debe incluir la ruta en la que se copió el archivo libqt4intf.so.
Ahora compila la LCL para Qt. Una vez abierto el compilado gtk normal de Lazarus. A continuación, ve al menú Herramientas -> Configurar "Construir Lazarus". Marca la LCL para "limpiar y construir (clean+build)", y todo lo demás a "Nada (None)". Ahora, en Interfaz LCL selecciona "qt (beta)", y haz clic en el botón "Construir". Si seleccionas Guardar Opciones debes ir luego ve al menú Herramientas -> Construir Lazarus. Ahora, el LCL ha sido compilado para Qt.
Para compilar un proyecto con Qt sólo hay que seleccionarlo como el Widgetset de destino en el cuadro de diálogo Opciones del compilador.
Instalación de Qt4
La mayoría de las distribuciones tienen ahora los paquetes de Qt4. Si su distribución está basada en RPM se puede buscar un paquete qt4 aquí: http://rpm.pbone.net/index.php3/stat/2/simple/2
La versión compatible debe ser Qt 4.5.0 o superior
Problemas conocidos en Linux
- Para distribuciones glibc < 2.4 (antiguas, por ejemplo FC3), los usuarios deben compilar qt-x11 con -no-sse o se obtendrá un error de fallo de segmento (segfaults).
Qt-4.4.1 si las X11 < 7.0 y glibc < 2.4 (distribuciones antiguas) QPalette no devuelve buenos resultados para algunas paletas, por ejemplo QToolTip_palette ().
Guía de inicio rápido para Mac OS X
Instrucciones en el wiki Qt Interface Mac.
Guía de inicio rápido para PDAs y Smartphones
por favor, escríbeme
Guía rápida de inicio para Windows
No hay nada especial que decir para Windows, funciona igual que en Linux, y parecen menos buggy de win32 interfaz con algunos controles (TListView). Sólo construir Lazarus como se menciona para Linux, el cambio a Qt en las opciones de compilador y eso es todo.
Instalación de Qt 4
Descargar la edición de código abierto Qt4 del sitio web oficial, y se puede descargar la libqt4intf.dll desde enlace FPC Qt4.
Enlaces de Qt4
Esta interfaz utiliza el enlace Qt4 creado por Den Jean. Los enlaces son la colección de librerías c++ que las exportaciones de los métodos de los objetos como los procedimientos de Qt. La biblioteca (alrededor de 800kb en Linux) se compone de un único archivo. Archivo de manera que debe ser distribuido con su programa de LCL.
Usted puede encontrar más información acerca de los enlaces en el oficial sitio y en FreePascal Qt4 vinculante.
¿Es que se informa de que puede ser posible vincular directamente a Qt 4, con algunos trucos. Muchos piensan que no lo es. Esto aún no se ha probado. Es de esperar que cualquiera de dichas vinculante será compatible con el utilizado actualmente una parte, por lo que el código de la interfaz no tiene que ser cambiado.
La compilación de los enlaces
No es necesario para recopilar los enlaces a sí mismo si usted planea lanzar un software GPL. GPL binarios están disponibles en el sitio web de Den Jean. Si desea liberar código no GPL, entonces usted debe compilar los enlaces de sí mismo utilizando la edición comercial de Qt.
- Paso 1 - Para comenzar con la descarga de todos los archivos necesarios para compilar los enlaces.
- Descargar el código fuente de los enlaces. Ir a la página web oficial de los enlaces. Vínculo anterior.
- También Descargar QT 4.5.2 (3) el código fuente para la plataforma deseada. Esta es la página de descarga: [1]
- Paso 2 - Descomprimir todos los archivos que ha descargado. Escriba el directorio donde ha descargado Qt 4.5.2 (3) del código fuente y el uso de este comando:
./configure make</ pre> *Paso 3 - Vaya al directorio donde ha descargado y extraído qt4pas fuentes compile_lib.bash y editar el archivo. Cambie la ruta de la Qt 4.5.2 (3) del código fuente. *Paso 4 - Ejecute el script llamado compile_lib.bash. Ahora usted debería tener un archivo llamado libqt4intf.so.5.XXXX donde XXXX es la versión de QT de las consolidaciones, y de sus enlaces simbólicos libqt4intf.so.5 y libqt4intf.soMapa de ruta para la interfaz de 4 Qt
Trasladado aquí: Hoja de Ruta # Widgetset_dependent_componentsCondicional define aceptado por la interfaz Qt
Trasladado aquí: LCL_Defines # Qt_definesCapturas de pantalla
Screenshoots Más
*Qt Lázaro IDE se ejecutan bajo Linux (kernel 2.6.12, Xorg-6.8.2, KDE-3.4.0)
*Qt Lázaro IDE se ejecuta en Mac OS X 10.4.10Contribuir
¿Cómo agregar un nuevo control
Por ejemplo TButton. TButton se define en LCL / buttons.pp. Esta es la plataforma independiente de la parte del NMC, que es utilizado por el programador LCL normal. Su clase está en widgetset LCL / widgetset / wsbuttons.pp. Este es el independiente de la plataforma base para todos los widgetsets (QT, de carbono, GTK, win32, ...). Su clase de interfaz Qt es en LCL / interfaces / / qt qtwsbuttons.pp: <delphi> TQtWSButton = class(TWSButton) private protected public class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override; end;</delphi> Todo era de clase, que se aplica efectivamente algo debe estar registrado. Vea la sección de inicialización en la final de la unidad qtwsXXX.pp: RegisterWSComponent (TQtButton, TQtWSButton); TQtWSButton anula CreateHandle para crear un QPushButton qt. El código es corto y debe ser fácilmente adaptable para otros controles como TCheckBox. Recuerde que todos los controles de la widgetset Qt tienen una clase de ayuda en qtprivate.pp, y también es necesario agregar una clase para el nuevo control. Esto no es difícil. También observe que DestroyHandle deben aplicarse para limpiar la memoria utilizada por el control.Lista de Mailling
Hay una lista de correo Lazarus-Qt de apoyo y para hablar sobre el desarrollo de esta interfaz.