Para que nuestros programas se vean integrados en el escritorio y no en el terminal necesitamos usar las librerias GTK: Ventanas, botones, etiquetas, controles de texto,etc.
Este sería el primer ejemplo, pero atención para compilarlo necesitamos esta instrucción: valac --pkg gtk+-2.0 "%f" dentro de las opciones del buider del IDE Geany o desde el terminal valac --pkg gtk+-2.0 nombre_archivo.gs. Es necesario que tengamos la librería de desarrollo instalada:
$ sudo apt-get install gtk+-2.0
En nuestro Geany escribiremos este codigo:
[indent=4]
// usa la libreria gtk
uses
Gtk
// comienza la parte principal del programa
init
Gtk.init (ref args) // inicializa gtk
var prueba = new ventana () // crea el objeto prueba
prueba.show_all () // muestra todo
Gtk.main (); // comienza con el loop
class ventana : Window // Crea una clase de ventana
init
title = "Ventana de prueba" // escribe el titulo
default_height = 250 // anchura
default_width = 250 // altura
window_position = WindowPosition.CENTER // posición
// creamos un boton con la siguiente etiqueta
var button = new Button.with_label ("Pulsa este botón")
// Une el evento de clic de raton con la funcion pulsado
button.clicked.connect (pulsado)
// si pulsamos la x de la barra saldrá del loop
destroy.connect(Gtk.main_quit)
// añade el boton a la ventana
add(button)
def pulsado (btn : Button)
// si se pulsa realiza algunos cambios.
title = "Hola, Mundo"
btn.label = "El botón ha sido pulsado"
buen dia
ResponderEliminardisculpa la molestia pero estoy probando a compilar le di un copy paste a tu ejemplo y me sale este error
pruebagtk.gs:33.9-33.11: error: syntax error, expected declaration but got identifier with previous `dedent'
btn.label = "El botón ha sido pulsado"
^^^
Si, ese error puede ser por varias razones ajenas al código, dedent quiere decir indentación, es decir los espacios o tabuladores. Es un error de tabulación o de espacios. Asegurate también que haya un enter detras de la última linea de código. Si usas genie puedes observar los tabuladores y los espacios en "ver>editor>mostrar espacios" y de éste modo te aseguras de ver lo que realmente hay escrito.
ResponderEliminarYo solo uso los espacios para mostrar el código en éste Blog y facilitar el cortapega, pero en mi programación diaria uso tabuladores.
Un saludo.
Gracias amigo te diré que eso ya lo habia probado pero no funcionaba y hoy que lo volvi a hacer como dijiste funcionó, no se porque fue el poner al final el ultimo caracter de nueva linea, pero ¿que paso? ya la habia probado asi que solo cuando lo dices funciona jajaja.
ResponderEliminar