• Publicidad

Crear interfaz con GTK

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Crear interfaz con GTK

Notapor Txemaracas » 2011-08-22 10:23 @474

Este es el código:
Tengo el archivo GladeXML.pm en dos directorios diferentes:
1.- C:\Documents and Settings\Txema\Datos de programa\.cpanplus\5.10.1\build\Gtk2-GladeXML-1.007

2.- C:\camelbox\site\lib\Gtk2

Pero vamos que al ejecutar el programa me dice:

"Can´t locate object method "new" via package "Gtk2::GladeXML" <perhaps you forgot to load "Gtk2::GladeXML"?> at line 10."

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!c:/perl/bin
  2. use strict;
  3. use lib 'C:/camelbox/site/lib/';
  4. use lib 'C:/camelbox/site/lib/Gtk2';
  5.  
  6.  
  7.  
  8. my($programa, $ventana_principal, $etiqueta, $widget_entrada_de_texto);
  9.  
  10. $programa = Gtk2::GladeXML->new('prueba.glade');
  11.  
  12. $ventana_principal = $programa->get_widget('ventana_principal');
  13. $etiqueta = $programa->get_widget('etiqueta');
  14. $widget_entrada_de_texto = $programa->get_widget('entrada1');
  15.  
  16. $programa->signal_autoconnect_from_package('main');
  17.  
  18. $ventana_principal->show_all();
  19.  
  20. Gtk2->main;
  21.  
  22. sub on_boton_cerrar_clicked {Gtk2->main_quit;}
  23. sub on_boton_recoger_datos_clicked {
  24.         my($texto_introducido);
  25.         $texto_introducido = $widget_entrada_de_texto->get_text();
  26.         $etiqueta->set_markup("$texto_introducido");
  27. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

Publicidad

Re: Crear interfaz con GTK

Notapor explorer » 2011-08-22 10:33 @481

El error dice:

"No puedo localizar un método "new" a partir del paquete "Gtk2::GladeXML" <¿quizás olvidaste cargar "Gtk2::GladeXML"?> en la línea 10."

O sea, lo que te dije: te falta poner un use Gtk2::GladeXML; después de las líneas 'use lib';

Y si lo pones, y te da un error de que no lo encuentra, es que perl, en efecto, no sabe dónde está.

Localízalo en el disco, y usa una instrucción 'use lib ...' para indicar el lugar.

Si dices que GladeXML.pm está dentro de C:\camelbox\site\lib\Gtk2, te sobra la línea 4. Con la 3 es más que suficiente.

Eso sí, yo le quitaría el último '/' que sigue a 'lib':

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use lib 'C:/camelbox/site/lib';
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y ya que aún estás usando Windows, quizás influya el tema de las mayúsculas y minúsculas, aunque no creo...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear interfaz con GTK

Notapor Txemaracas » 2011-08-23 09:40 @444

Poniendo :

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use lib 'C:/camelbox/site/lib';
  2. use Gtk2::GladeXML;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


me sale el siguiente error:
Adjuntos
error.JPG
error.JPG (39.46 KiB) Visto 778 veces
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

Re: Crear interfaz con GTK

Notapor explorer » 2011-08-23 09:46 @449

Las líneas están bien puestas. El error no es de ellas, sino de que no encuentra una biblioteca, la Pango.dll.

Dice que no la encuentra en 'C:/camelbox/site/lib/auto/Pango/Pango.dll'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear interfaz con GTK

Notapor Txemaracas » 2011-08-23 10:57 @498

Pues sí que está que raro. ¿Debería colocarla en otro lado? ¿No será lo que dice que utilizo una versión más vieja?
Adjuntos
buscar.JPG
buscar.JPG (49.75 KiB) Visto 776 veces
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

Re: Crear interfaz con GTK

Notapor explorer » 2011-08-23 11:05 @504

Un momento...

¿No tendrás instalado ActivePerl?

O tienes instalado el CamelBox o el ActivePerl, pero no los dos a la vez...

He encontrado este hilo donde alguien ha conseguido hacer funcionar el camelbox con las herramientas de ActiveState (busca por la palabra camelbox).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear interfaz con GTK

Notapor Txemaracas » 2011-08-24 09:40 @444

Sí, he estado leyendo los comentarios y el cómo instalar camelbox pero es que eso no me ha solucionado nada porque vale, yo ya había seleccionado a la hora de instalar camelbox el apartado de gtk-gladeXML. No sale nada de porqué no funciona si las librerías Pango.dll sí que están. :(
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

Re: Crear interfaz con GTK

Notapor explorer » 2011-08-24 10:00 @458

Yo enviaría la captura de pantalla del error a la gente que hace el CamelBox. Si ellos no lo saben, no lo sabe nadie más...

La línea de error que dice que ha fallado la línea 31 de Gtk2.pm, corresponde a:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Pango;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


así que sí: el problema es a la hora de cargar Pango. Por lo tanto, si ejecutas

perl -MPango -e 1

debería dar error. Y dejar de dar error cuando lo soluciones.

Si DynaLoader (que es el que se encarga de cargar las bibliotecas en binario) ha fallado, sospecho que el problema es que no coincide la versión Perl que estás ejecutando con la de la biblioteca que quieres cargar.

No has respondido a la pregunta: ¿tienes instalado algún Perl más, aparte del que viene con CamelBox? Esto podría explicar el problema.

Lo digo porque veo que Camelbox está en el directorio C:/camelbox, pero DinaLoader está en C:/Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear interfaz con GTK

Notapor Txemaracas » 2011-08-24 16:04 @711

mm si tengo un apartado donde tengo instalado perl 5.10 que es:

C:\Perl\

y luego tengo instalado aparte camelbox:

C:\Camelbox\

He ejecutado el comando:

perl -MPango -e 1

y el resultado:
Adjuntos
error.JPG
error.JPG (9.2 KiB) Visto 760 veces
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

Re: Crear interfaz con GTK

Notapor explorer » 2011-08-24 16:18 @720

Entonces, ¿puedes responder a la pregunta que te hice el 2011-08-23 18:05?

No deberías tener instalados dos Perl. Bueno, sí, pero para usar las bibliotecas o módulos que trae Camelbox debes usar su Perl.

Según la FAQ de Camelbox, el perl que trae Camelbox está en C:/camelbox/bin/perl, y es el que deberías usar.

En el mismo FAQ se comenta que si sale el error del Glib (como es tu caso), es que está mal puesta la variable de entorno %PATH%.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

AnteriorSiguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados