Sign in Join
Wiki copytemporary

Qt Interface/es: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Introducción
22
33   El conjunto de artefactos Qt4 está en desarrollo.
44
55   Esta interfaz se basa en Qt4 y su correspondiente documentación está [aquí](http://doc.trolltech.com/4.5/).
66
77## Guía de inicio rápida para Linux
88
99   Lo primero que hay que hacer es ir a la [página web oficial](http://users.pandora.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html) 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:
1010
1111` ldconfig -p | grep libqt4intf `
1212
1313   Que dará un resulta parecido a este:
1414
1515` libqt4intf.so (libc6) => / usr/local/lib/libqt4intf.so `
1616
1717   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.
1818
1919   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.
2020
2121   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.
2222
2323### Instalación de Qt4
2424
2525   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>\
2626**La versión compatible debe ser Qt 4.5.0 o superior**
2727
2828### Problemas conocidos en Linux
2929
3030- 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*).
31-- <s>**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 ().</s>
31+- **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 ().
3232
3333## Guía de inicio rápido para Mac OS X
3434
3535   Instrucciones en el wiki [[Qt Interface Mac]].
3636
3737## Guía de inicio rápido para PDAs y Smartphones
3838
3939   por favor, escríbeme
4040
4141## Guía rápida de inicio para Windows
4242
4343   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.
4444
4545### Instalación de Qt 4
4646
4747   Descargar la edición de código abierto Qt4 del [sitio web oficial](http://www.qtsoftware.com/downloads/), y se puede descargar la libqt4intf.dll desde [enlace FPC Qt4](http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html).
4848
4949## Enlaces de Qt4
5050
5151   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.
5252
5353   Usted puede encontrar más información acerca de los enlaces en el oficial [sitio](http://users.pandora.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html) y en [[Qt4 binding|enlace FreePascal Qt4]].
5454
5555   ¿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.
5656
5757### La compilación de los enlaces
5858
5959   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.
6060
6161   **Paso 1** - Comenzar con la descarga de todos los archivos necesarios para compilar los enlaces.
6262
6363- Descargar el código fuente de los enlaces. Ir a la página web oficial de los enlaces. Vínculo anterior.
6464- 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](http://www.trolltech.com/download/opensource.html)
6565
6666   **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:
6767
6868 ./configure
6969 make
7070
7171   **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) .
7272
7373   **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*
7474
7575## Mapa de ruta para la interfaz de Qt4
7676
7777   Trasladado aquí: [[Roadmap|Roadmap#Widgetset_dependent_components]]
7878
7979## ''Define" condicionales aceptados por la interfaz Qt
8080
8181   Trasladado aquí: [[LCL Defines|LCL_Defines#Qt_defines]]
8282
8383## Capturas de pantalla
8484
8585![](/wiki-images/8/87/Much_qt_progress.png)\
8686**Screenshoots Más**\
8787*[Qt Lazarus IDE corriendo en Linux (kernel 2.6.12, Xorg-6.8.2, KDE-3.4.0)](http://wiki.lazarus.freepascal.org/Image:Linuxqtide.png)\
8888*[Qt Lazarus IDE corriendo en Mac OS X 10.4.10](http://wiki.lazarus.freepascal.org/Image:macosxqt.png)
8989
9090## Contribuir
9191
9292### ¿Cómo agregar un nuevo control
9393
9494   Por ejemplo *TButton*.
9595
9696   *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*:
9797
9898``` pascal
9999 TQtWSButton = class(TWSButton)
100100 private
101101 protected
102102 public
103103 class function CreateHandle(const AWinControl: TWinControl;
104104 const AParams: TCreateParams): TLCLIntfHandle; override;
105105 end;
106106```
107107
108108   Toda clase, que se implementa efectivamente algo debe estar registrada. Ver la sección de inicialización al final de la unidad *qtwsXXX.pp*:
109109
110110``` pascal
111111 RegisterWSComponent (TQtButton, TQtWSButton);
112112```
113113
114114   *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.
115115
116116   Observa también que *DestroyHandle* debe utilizarse para liberar la memoria utilizada por el control.
117117
118118## Lista de correo
119119
120120    Hay una [lista de correo Lazarus-Qt](http://lists.lazarus.freepascal.org/mailman/listinfo/qt) de apoyo y para hablar sobre el desarrollo de esta interfaz.
121121
122122---
123123*From the Free Pascal wiki, page "Qt Interface/es", as it stood on 2020-02-23 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
124124Category: Castellano
125125Category: Español

Back to history