traduccion - Cuadros de alerta en Python?
warnings examples (4)
Inicie una aplicación como proceso en segundo plano que tiene un puerto TCP vinculado a un host local o se comunica a través de un archivo: su daemon tiene el archivo abierto y luego echo "foo" > c:/your/file
. Después de, digamos, 1 segundo sin actividad, visualiza el mensaje y trunca el archivo.
¿Es posible generar una alerta similar a la alerta de JavaScript ("mensaje") en python, con una aplicación que se ejecuta como daemon?
Esto se ejecutará en Windows, probablemente XP, pero 2000 y Vista también son posibilidades muy reales.
Actualizar:
Esto está destinado a ejecutarse en segundo plano y alertar al usuario cuando se cumplen ciertas condiciones, me imagino que la manera más fácil de alertar al usuario sería producir una ventana emergente, ya que debe manejarse de inmediato, y otras opciones como solo iniciar sesión o enviar un correo electrónico no son lo suficientemente eficientes.
que tal esto?
import win32api
win32api.MessageBox(0, ''hello'', ''title'')
Adicionalmente:
win32api.MessageBox(0, ''hello'', ''title'', 0x00001000)
hará que el cuadro aparezca encima de otras ventanas, para recibir mensajes urgentes. Ver la función MessageBox para otras opciones.
Puede usar la biblioteca win32 en Python; este es un ejemplo clásico de aceptar o cancelar.
import win32api
import win32com.client
import pythoncom
result = win32api.MessageBox(None,"Do you want to open a file?", "title",1)
if result == 1:
print ''Ok''
elif result == 2:
print ''cancel''
La colección:
win32api.MessageBox(0,"msgbox", "title")
win32api.MessageBox(0,"ok cancel?", "title",1)
win32api.MessageBox(0,"abort retry ignore?", "title",2)
win32api.MessageBox(0,"yes no cancel?", "title",3)
GTK puede ser una mejor opción, ya que es multiplataforma. Funcionará muy bien en Ubuntu, y debería funcionar bien en Windows cuando se instalan enlaces GTK y Python.
from gi.repository import Gtk
dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
Gtk.ButtonsType.OK, "This is an INFO MessageDialog")
dialog.format_secondary_text(
"And this is the secondary text that explains things.")
dialog.run()
print "INFO dialog closed"
Puedes ver otros ejemplos aquí . ( pdf )
Los argumentos que se pasan deben ser gtk.window parent (o None), DestroyWithParent, tipo de mensaje, botones de mensaje, título.