[Python] Prima interfaccia
Vittorio Zuccala'
vittorio.zuccala a gmail.com
Mar 12 Ago 2008 17:41:48 CEST
Salve a tutti,
come qualcuno avrà notato, mi sto cimentando con la interfaccia grafica con
python coadiuvato da glade.
Seguendo l'esempio su http://www.linuxjournal.com/article/6586
ho costruito la interfaccia su glade e salvata come "provafinestra.glade"
e successivamente ho fatto copia ed incolla del codice che risulta come
riportato sotto.
Purtroppo, però, quando avvio lo script il risultato è lo stallo del prompt
del dos
e una risposta su schermo che recita come segue:
(python.exe:476): libglade-CRITICAL ** glade_xml_build_interface: assertion
'wid != NULL' failed
premendo CTRL+C mi riporta, successivamente:
Traceback (most recent call last):
File "provafinestra.py", line 52, in (module)
gtk.main()
KeyboardInterrupt
Cosa posso aver sbagliato?
In fondo ho seguito alla lettera l'esempio...
Il problema è che nessuna finestra è visibile...
Qualche idea su cosa possa aver sbagliato?
Grazie infinite.
------------------------------CODICE----------------
import sys
try:
import pygtk
#tell pyGTK, if possible, that we want GTKv2
pygtk.require("2.0")
except:
#Some distributions come with GTK2, but not pyGTK
pass
try:
import gtk
import gtk.glade
except:
print "You need to install pyGTK or GTKv2 ",
print "or set your PYTHONPATH correctly."
print "try: export PYTHONPATH=",
print "/usr/local/lib/python2.2/site-packages/"
sys.exit(1)
#now we have both gtk and gtk.glade imported
#Also, we know we are running GTK v2
class appgui:
def __init__(self):
"""
In this init we are going to display the main
serverinfo window
"""
self.gladefile="provafinestra.glade"
self.windowname="serverinfo"
self.wTree=gtk.glade.XML(self.gladefile,self.windowname)
# we only have two callbacks to register, but
# you could register any number, or use a
# special class that automatically
# registers all callbacks. If you wanted to pass
# an argument, you would use a tuple like this:
# dic = { "on button1_clicked" : \
#39 (self.button1_clicked, arg1,arg2) , ...
dic = { "on_button1_clicked" : self.button1_clicked,
"on_serverinfo_destroy" : (gtk.mainquit) }
self.wTree.signal_autoconnect (dic)
return
#####CALLBACKS
def button1_clicked(self,widget):
print "button clicked"
# we start the app like this...
app=appgui()
gtk.main()
--
Vittorio Zuccalà
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20080812/762e94bd/attachment.htm
Maggiori informazioni sulla lista
Python