Mostrando entradas con la etiqueta gtk. Mostrar todas las entradas
Mostrando entradas con la etiqueta gtk. Mostrar todas las entradas

viernes, 18 de febrero de 2011

Como evitar que un hilo de pyGTK bloquee a los demás [ tip ]

Si alguien ha intentado programar un script que use pyGTK lanzándolo en un hilo aparte se habrá dado cuenta de que bloquea  a todo el proceso, lo que es bastante molesto. La solución es hacer esto desde ese hilo antes de levantar la interfaz:

gtk.gdk.threads_init()


Hay más sobre hilos y pyGTK ( esto en concreto no ) en: http://unpythonic.blogspot.com/2007/08/using-threads-in-pygtk.html

Saludos

jueves, 13 de enero de 2011

GUI's en python con [ GTK | QT4 ] y [XML | HTML... ]

Hoy traigo una librería que aún no está acabada, pero puede que interese a la gente que no le guste complicarse lo más mínimo con las interfaces, pero que aún así le interese hacer unas GUI para los script [ guiml.zip ].

La idea es simple, le pasas un pedazo de HTML a la "librería" y esta selecciona el Toolkit disponible (por ahora solo soporta Gtk y Qt4, cuando le heche el guante a algo que tenga tk instalado lo añado ) hace una GUI basandose en eso, por ejemplo, para

<title>Simple test</title>
<form action="test">
Decide <br>
<input type="submit" value="SI" name="Si"><input type="submit" value="NO" name="No">

Con Gtk:

Con Qt4:

miércoles, 28 de julio de 2010

Una ronda de bash ( y II )

[La primera parte] (La división va porque se hace incómodo editar el HTML para meter los spoilers con posts largos... si, lo se, soy un vago)

Nota: por alguna razón no se muestran los spoilers si se ven desde la portada, entrad en el post y debería ir.

Los siguientes códigos usan /proc/acpi/ para mostrar la temperatura y Zenity o KDialog para mostrarlo por una GUI

El primero es la base, muestra simplemente las temperaturas por pantalla [temp.sh]:


./temp.sh [-c]

El -c para que también se muestre el símbolo de la medida (¿grados?)


#!/bin/bash
# Escrito por kenkeiras
back=$PWD
cd /proc/acpi/thermal_zone/
if [ "$1" = "-c" ]; then
    lonx=4
else
    lonx=3
fi

for i in *; do
    e=`cat $i/temperature`
    e=${e:`expr length "$e"`-4:$lonx}
    echo "$i: $e"
done

cd $back


Este es con Zenity, es decir, con Gtk [ztemp.sh]


./ztemp.sh




#!/bin/bash
# Escrito por kenkeiras
back=$PWD
cd /proc/acpi/thermal_zone/
tmpList=""
for i in *; do
    e=`cat $i/temperature`
    e=${e:`expr length "$e"`-4:3}
    tmpList="$tmpList $i $e"
done
cd $back
zenity --list --text "" --title "ZenTemp" \
--column "Dispositivo" --column "Temperatura" $tmpList



Visto esto ya no parece tan dificil programar GUI's ^^

Y con KDialog (Qt/Kde) [ktemp.sh]:


./ktemp.sh




#!/bin/bash
# Escrito por kenkeiras
back=$PWD
dump=kdetempdump
cd /proc/acpi/thermal_zone/
tmpVar=""
for i in *; do
    e=`cat $i/temperature`
    e=${e:`expr length "$e"`-4:3}
    tmpVar=$tmpVar"$i: $e\n"
done
cd $back
echo -en $tmpVar > $dump
kdialog --title "KdeTemp" --textbox $dump
rm -f $dump



Y eso es todo, hasta otra

ps: De nuevo todo bajo la WTFPL, claro