Qt Interface/es
│
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í.
Otras Interfaces
- Lazarus known issues (things that will never be fixed) - Una lista de problemas de compatibilidad de interfaz.
- Win32/64 Interface - la interfaz winapi para Windows 95/98/Me/2K/XP/Vista, pero no para CE.
- Windows CE Interface - Para Pocket PC y Smartphones.
- Carbon Interface - La interfaz carbon para macOS.
- Cocoa Interface - La interfaz cocoa para macOS.
- Interfaz Qt - La interfaz Qt4 para *nix, macOS y las PDA basadas en linux.
- GTK1 Interface - gtk1 para *nix, macOS (X11), Windows.
- GTK2 Interface - gtk2 para *nix, macOS (X11), Windows.
- GTK3 Interface - gtk3 para *nix, macOS (X11), Windows.
- fpGUI Interface - Un conjunto de elementos gráficos completamente escrito en Object Pascal', basados en la libería fpGUI con un kit de utilidades para plataforma cruzada..
- Custom Drawn Interface - Un backend (parte no visible frente al frontend que el la parte que si vemos) LCL de plataforma cruzada, escrito completamente en Object Pascal dentro de Lazarus. El interface Lazarus para Android.
Consejos específicos de plataformas
- Windows Programming Tips - Consejos de programación para escritorios Windows.
- Linux Programming Tips - Como ejecutar tareas de programación particulares en Linux.
- macOS Programming Tips - Instalación de Lazarus, utilides de interés, mandatos Unix y más.....
- WinCE Programming Tips - Utilizando la API telephone, enviando SMSes, y más ...
- Android Programming - Para smartphones Android y tabletas.
- iPhone/iPod development - Sobre como utilizar Object Pascal y diseñar aplicaciones iOS.
Artículos sobre desarrollo de Interfaces
- Las interioridades de carbon - Si quieres ayudar a mejorar la interfaz carbon.
- Notas de desarrollo winCE - Para Pocket PC y Smartphones.
- Añadiendo una nueva interfaz - Cómo añadir un nuevo conjunto de artefactos gráficos.
- Defines de la LCL - Elegir la mejores opciones para compilar la LCL.
- Las interioridades de la LCL - Algo de información sobre el funcionamiento interno de la LCL.
- Cocoa Internals - Algo de información sobre el funcionamiento interno del widgetset de Cocoa.
Guía de inicio rápida para Linux
Lo primero que 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 enlace FreePascal Qt4.
¿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 compilar los enlaces uno mismo si se planea lanzar un software GPL. Hay disponibles binarios GPL en el sitio web de Den Jean. Si deseas liberar código no GPL, entonces debes compilar los enlaces utilizando la edición comercial de Qt.
Paso 1 - 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 el código fuente de Qt 4.5.2(3) para la plataforma deseada. Esta es la página de descarga: [1]
Paso 2 - Descomprimir todos los archivos descargados. Escribe el directorio donde ha descargado el código fuente de Qt 4.5.2(3) y el escribe, en una consola, este comando:
./configure make
Paso 3 - Ve al directorio donde has descargado y extraído los fuentes de qt4pas y edita el archivo compile_lib.bash. Cambia la ruta del código fuente de Qt 4.5.2(3) .
Paso 4 - Ejecuta la macro llamada compile_lib.bash. Ahora debes tener un archivo llamado libqt4intf.so.5.XXXX donde XXXX es la versión del enlace QT, y de sus enlaces simbólicos libqt4intf.so.5 y libqt4intf.so
Mapa de ruta para la interfaz de Qt4
Trasladado aquí: Roadmap#Widgetset_dependent_components
Define" condicionales aceptados por la interfaz Qt
Trasladado aquí: LCL_Defines#Qt_defines
Capturas de pantalla
Screenshoots Más
- Qt Lazarus IDE corriendo en Linux (kernel 2.6.12, Xorg-6.8.2, KDE-3.4.0)
- Qt Lazarus IDE corriendo en Mac OS X 10.4.10
Contribuir
¿Cómo agregar un nuevo control
Por ejemplo TButton.
TButton se define en LCL/buttons.pp. Esta es la parte de la LCL independiente de la plataforma, y que es utilizada por el programador LCL normal. La clase de los artefactos está en LCL/widgetset/wsbuttons.pp. Esta es la base, independiente de la plataforma, para todos los artefactos (Qt, carbon, GTK, win32, ...). La clase de la interfaz Qt está en LCL/interfaces/qt/qtwsbuttons.pp:
TQtWSButton = class(TWSButton)
private
protected
public
class function CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLIntfHandle; override;
end;
Toda clase, que se implementa efectivamente algo debe estar registrada. Ver la sección de inicialización al final de la unidad qtwsXXX.pp:
RegisterWSComponent (TQtButton, TQtWSButton);
TQtWSButton sobreescribe CreateHandle para crear un QPushButton de Qt. El código es corto y puede ser fácilmente adaptado para otros controles como TCheckBox. Recuerda que todos los controles de la interfaz Qt tienen una clase de ayuda (helper class) en qtprivate.pp, y también es necesario agregar una clase para el nuevo control. Esto no es difícil.
Observa también que DestroyHandle debe utilizarse para liberar la memoria utilizada por el control.
Lista de correo
Hay una lista de correo Lazarus-Qt de apoyo y para hablar sobre el desarrollo de esta interfaz.