hi everbody! How do i get pygtk to work with eclipse?
b_bayaraa_d 0 Newbie Poster
sneekula 969 Nearly a Posting Maven
What is your problem? How does it manifest itself?
Davide Davin 0 Newbie Poster
Stefano Mtangoo 455 Senior Poster
Get your eclipse IDE (Though it is very heavy and Javaic IMHO) and then get python extensions for eclipse here
http://pydev.sourceforge.net/
Happy Pythoning
b_bayaraa_d 0 Newbie Poster
What is your problem? How does it manifest itself?
hi i want to creat activity by Pygtk for OLPC-xo. so how i work pygtk in eclipse? sorry for my english skill. e.x import pygtk. it's not import
Stefano Mtangoo 455 Senior Poster
hi i want to creat activity by Pygtk for OLPC-xo. so how i work pygtk in eclipse? sorry for my english skill. e.x import pygtk. it's not import
re-read my above post ;)
bumsfeld 413 Nearly a Posting Virtuoso
What happens if you run this test code:
#!/usr/bin/env python
# example frame.py
# http://www.pygtk.org/pygtk2tutorial/sec-Frames.html
import pygtk
pygtk.require('2.0')
import gtk
class FrameExample:
def __init__(self):
# create new window
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Frame Example")
# connect "destroy" event to signal handler
window.connect("destroy", lambda w: gtk.main_quit())
window.set_size_request(300, 300)
# set border width of window
window.set_border_width(10)
# create the Frame
frame = gtk.Frame()
window.add(frame)
# set the frame's label
frame.set_label("GTK Frame Widget")
# align the label at the right of the frame
frame.set_label_align(1.0, 0.0)
# set the style of the frame
frame.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
frame.show()
# display the window
window.show()
def main():
# enter the event loop
gtk.main()
return 0
if __name__ == "__main__":
FrameExample()
main()
Do you get error message?
What is your Operating System?
Which version of Python?
Which version of PyGTK?
On Windows PyGTK is almost impossible to install!
nikosokin 0 Newbie Poster
Hi, i'm trying to compile a .py file on eclipse using Pydev. I import in my code and pygtk. WHen i run it as 'Python Run' it terminates it.
I think it raise SystemExit when it imports 'gtk' and gobject'.....
Here is the code:
try :
import gtk
import gobject
except:
raise SystemExit
import pygtk
if gtk.pygtk_version<(2.0):
print "pygtk 2.0 or later require for this widget"
raise SystemExit
import pango
import random
import time
from os import open
from datetime import date
from sugar.activity import activity
class KremalaActivity(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
self.set_title("Kremala Activity")
# Show the toolbox elements
toolbox = activity.ActivityToolbox(self)
self.set_toolbox(toolbox)
toolbox.show()
table=gtk.Table()
table.set_homogeneous(False)
table.set_row_spacings(4)
table.set_col_spacings(4)
#listes me tis lekseis kai tis erotiseis
self.list_geo=["constantinople", "vatican","taygetus","norway","olympus","himalaya", "caspian"]
self.list_hist=["galille","mavrogenous","yalta","justinian","aristotle","helots","leonidas"]
self.list_nat=["oxygen","chlorophyll","sarcophagus","herb","plankton","petroleum","deciduous"]
self.list_question_geo=["einai h monadiki poli pou vrisketai anamesa se 2 xores",
"europaiko kratos pou exei ektash molis miso tetragoniko xlm.",
"se auto to bouno vriskotan o Kaiadas", "xora opou einai oi psiloteroi kataraktes tis Europis",
"einai to psilotero vouno tis Elladas", "h upsiloterh korufh tou kosmou",
"einai h megaluterh limnh ths ghs kai exei almuro nero"]
self.list_question_hist=["eipe ti frash 'ki omos kineitai'.",
"iroida ths ellinikis epanastashs pou ediokse o Kolleths apo to Nauplio",
"diaskepsi stin opoia suzhththike i idrish tou OHE","vizantinos autokratoras",
"daskalos tou M.Aleksandrou", "legontan oi douloi sthn arxaia Sparth",
"vasilias ths Sparths pou eipe to gnosto <molon lave> "]
self.list_question_nat=["xoris auto den uparxei zoi","aparaititi gia to xroma ton futon",
"einai to zoo pou trafetai mono me kreas","futo pou mporei na einai therapeutiko",
"trefontai ta psaria me auto", "paxureusto, mauro orukto pou apokaleitai kai <mauros xrusos> ",
"etsi legetai to dentro pou rixnei ta fulla tou to fthinoporo"]
#plaisio gia eisagogi onomatos
entryname=gtk.Entry()
entryname.modify_font(pango.FontDescription(str='sans bold 10'))
entryname.set_max_length(100)
self.entname=entryname.get_text()
button_save=gtk.Button("save")
button_save.connect("clicked",self.buttonsave)
tooltips = gtk.Tooltips()
tooltips.set_tip(button_save, "save the name")
#plaisio opou emfanizetai o kremasmenos an8ropos
self.m=6
vbox=gtk.VBox()
event_box = gtk.EventBox()
event_box.modify_bg(gtk.STATE_NORMAL, event_box.get_colormap().alloc_color("#75B844"))
image = gtk.Image()
image.set_from_file(self.make_image_name(self.m))
self.image=image
event_box.add(self.image)
vbox.add(event_box)
#plaisio opou emfanizontai oi eikones me to prosopo analoga me to minima pou emfanizetai
vbox1=gtk.VBox()
event_box1= gtk.EventBox()
event_box1.modify_bg(gtk.STATE_NORMAL, event_box1.get_colormap().alloc_color("#FFF333"))
image1 = gtk.Image()
image1.set_from_file('imgg/skepsi.jpg')
self.image1=image1
event_box1.add(self.image1)
vbox1.add(event_box1)
#kathgories
table_category=gtk.Table()
table_category.set_homogeneous(False)
table_category.set_row_spacings(2)
table_category.set_col_spacings(2)
buttongeo=gtk.Button("GEOGRAFIA")
buttongeo.connect("clicked", self.random_word, self.list_geo)
tooltips = gtk.Tooltips()
tooltips.set_tip(buttongeo, "BUTTON GEOGRAFIA")
buttonhist=gtk.Button("ISTORIA")
buttonhist.connect("clicked", self.random_word, self.list_hist)
tooltips = gtk.Tooltips()
tooltips.set_tip(buttonhist, "BUTTON ISTORIA")
buttonnat=gtk.Button("PERIVALLON")
buttonnat.connect("clicked", self.random_word, self.list_nat)
tooltips = gtk.Tooltips()
tooltips.set_tip(buttonnat, "BUTTON PERIVALLON")
self.buttongeo=buttongeo
self.buttonhist=buttonhist
self.buttonnat=buttonnat
table_category.attach(buttongeo,0,1,0,1)
table_category.attach(buttonhist,0,1,1,2)
table_category.attach(buttonnat,0,1,2,3)
#plaisio opou emfanizetai h eikona dipla stis kathgories
vbox2=gtk.VBox()
event_box2= gtk.EventBox()
event_box2.modify_bg(gtk.STATE_NORMAL, event_box2.get_colormap().alloc_color("#75B844"))
image2 = gtk.Image()
image2.set_from_file('imgg/img_kategory.jpg')
self.image2=image2
event_box2.add(self.image2)
vbox2.add(event_box2)
#plaisio opou emfanizetai h leksi
textview2=gtk.TextView()
textview2.set_editable(False)
textview2.set_cursor_visible(False)
textview2.set_justification(gtk.JUSTIFY_CENTER)
textview2.modify_font(pango.FontDescription(str='sans bold 18'))
self.textbuffer2=textview2.get_buffer()
##plaisio opou emfanizontai ta la8os grammata
entrygr=gtk.Entry()
entrygr.modify_font(pango.FontDescription(str='sans bold 16'))
entrygr.set_max_length(13)
self.entgr=entrygr.get_text()
tooltips = gtk.Tooltips()
tooltips.set_tip(entrygr, "edo emfanizontai ta lathos gramata")
#plaisio opou emfanizetai h erotisi
textview1=gtk.TextView()
textview1.set_editable(False)
textview1.set_cursor_visible(False)
textview1.set_justification(gtk.JUSTIFY_LEFT)
textview1.modify_font(pango.FontDescription(str='sans bold 8'))
self.textbuffer1=textview1.get_buffer()
labelname=gtk.Label(" onoma paikth:")
labelname.modify_font(pango.FontDescription(str='sans bold 10'))
labelname.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse('red'))
#plaisio opou emfanizontai ta analoga minimata
entrymin=gtk.Entry()
entrymin.modify_font(pango.FontDescription(str='sans bold 10'))
entrymin.set_max_length(100)
self.entmin=entrymin.get_text()
#plaisio opou emfanizontai oi prospa8eies
entryprot=gtk.Entry()
entryprot.modify_font(pango.FontDescription(str='sans bold 12'))
entryprot.set_max_length(70)
self.entprot=entryprot.get_text()
#dhmiourgei to plhktrologio me ta gramata
pad=gtk.Table()
table.set_homogeneous(False)
pad.set_row_spacings(2)
pad.set_col_spacings(1)
but_a=gtk.Button('A')
but_a.connect("clicked", self.add_letter, 'a')
self.but_a=but_a
but_b=gtk.Button('B')
but_b.connect("clicked", self.add_letter, 'b')
self.but_b=but_b
but_c=gtk.Button('C')
but_c.connect("clicked", self.add_letter, 'c')
self.but_c=but_c
but_d=gtk.Button('D')
but_d.connect("clicked", self.add_letter, 'd')
self.but_d=but_d
but_e=gtk.Button('E')
but_e.connect("clicked", self.add_letter, 'e')
self.but_e=but_e
but_f=gtk.Button('F')
but_f.connect("clicked", self.add_letter, 'f')
self.but_f=but_f
but_g=gtk.Button('G')
but_g.connect("clicked", self.add_letter, 'g')
self.but_g=but_g
but_h=gtk.Button('H')
but_h.connect("clicked", self.add_letter, 'h')
self.but_h=but_h
but_i=gtk.Button('I')
but_i.connect("clicked", self.add_letter, 'i')
self.but_i=but_i
but_j=gtk.Button('J')
but_j.connect("clicked", self.add_letter, 'j')
self.but_j=but_j
but_k=gtk.Button('K')
but_k.connect("clicked", self.add_letter, 'k')
self.but_k=but_k
but_l=gtk.Button('L')
but_l.connect("clicked", self.add_letter, 'l')
self.but_l=but_l
but_m=gtk.Button('M')
but_m.connect("clicked", self.add_letter, 'm')
self.but_m=but_m
but_n=gtk.Button('N')
but_n.connect("clicked", self.add_letter, 'n')
self.but_n=but_n
but_o=gtk.Button('O')
but_o.connect("clicked", self.add_letter, 'o')
self.but_o=but_o
but_p=gtk.Button('P')
but_p.connect("clicked", self.add_letter, 'p')
self.but_p=but_p
but_q=gtk.Button('Q')
but_q.connect("clicked", self.add_letter, 'q')
self.but_q=but_q
but_r=gtk.Button('R')
but_r.connect("clicked", self.add_letter, 'r')
self.but_r=but_r
but_s=gtk.Button('S')
but_s.connect("clicked", self.add_letter, 's')
self.but_s=but_s
but_t=gtk.Button('T')
but_t.connect("clicked", self.add_letter, 't')
self.but_t=but_t
but_u=gtk.Button('U')
but_u.connect("clicked", self.add_letter, 'u')
self.but_u=but_u
but_v=gtk.Button('V')
but_v.connect("clicked", self.add_letter, 'v')
self.but_v=but_v
but_w=gtk.Button('W')
but_w.connect("clicked", self.add_letter, 'w')
self.but_w=but_w
but_x=gtk.Button('X')
but_x.connect("clicked", self.add_letter, 'x')
self.but_x=but_x
but_y=gtk.Button('Y')
but_y.connect("clicked", self.add_letter, 'y')
self.but_y=but_y
but_z=gtk.Button('Z')
but_z.connect("clicked", self.add_letter, 'z')
self.but_z=but_z
pad.attach(but_a,0,1,0,1)
pad.attach(but_b,1,2,0,1)
pad.attach(but_c,2,3,0,1)
pad.attach(but_d,3,4,0,1)
pad.attach(but_e,4,5,0,1)
pad.attach(but_f,5,6,0,1)
pad.attach(but_g,6,7,0,1)
pad.attach(but_h,7,8,0,1)
pad.attach(but_i,8,9,0,1)
pad.attach(but_j,9,10,0,1)
pad.attach(but_k,10,11,0,1)
pad.attach(but_l,11,12,0,1)
pad.attach(but_m,12,13,0,1)
pad.attach(but_n,0,1,1,2)
pad.attach(but_o,1,2,1,2)
pad.attach(but_p,2,3,1,2)
pad.attach(but_q,3,4,1,2)
pad.attach(but_r,4,5,1,2)
pad.attach(but_s,5,6,1,2)
pad.attach(but_t,6,7,1,2)
pad.attach(but_u,7,8,1,2)
pad.attach(but_v,8,9,1,2)
pad.attach(but_w,9,10,1,2)
pad.attach(but_x,10,11,1,2)
pad.attach(but_y,11,12,1,2)
pad.attach(but_z,12,13,1,2)
#vazei ola ta widgets sto table
table.attach(labelname,1,4,0,1)
table.attach(entryname,4,5,0,1)
table.attach(button_save,5,7,0,1)
table.attach(vbox,0,2,0,4)
table.attach(table_category,2,4,1,2)
table.attach(vbox2,4,10,1,2)
table.attach(textview2,2,10,2,3)
table.attach(entrygr, 2,10,3,4)
table.attach(textview1,0,10,4,5)
table.attach(vbox1,0,1,5,6)
table.attach(entrymin, 1,10,5,6)
table.attach(entryprot, 0,10,6,7)
table.attach(pad, 0,10,7,8)
##
## window.add(table)
## window.show_all()
# vazei to table ston kamva tou sugar kai to emfanizei
self.set_canvas(table)
self.show_all()
self.view2=textview2
self.entrygr=entrygr
self.entrymin=entrymin
self.entryprot=entryprot
self.entryname=entryname
self.button_save=button_save
self.image.set_from_file(self.make_image_name(6))
self.list_button=[self.but_a, self.but_b,self.but_c,self.but_d,self.but_e,self.but_f,
self.but_g,self.but_h,self.but_i,self.but_j,self.but_k,self.but_l,
self.but_m,self.but_n,self.but_o,self.but_p,self.but_q,self.but_r,
self.but_s,self.but_t,self.but_u,self.but_v,self.but_w,self.but_x,
self.but_y,self.but_z]
self.buttongeo.set_sensitive(False)
self.buttonhist.set_sensitive(False)
self.buttonnat.set_sensitive(False)
self.disable_keyboard(False)
self.entryprot.set_text("Exeis 6 prospatheies gia na breis th leksi")
#metavlites
self.w=" " #apithikeuetai h epilegmenh leksi
self.p=" " #apothikeuontai oi paules
self.list_again=[] #lista me ta gramata pou dinontai
self.gr=' ' #to grama pou epilegei o xrhsths
self.categ=" "
#epistrefei thn eikona
def make_image_name(self, image_number):
return "imgg/image" + str(image_number) + ".jpg"
#synarthsh poy allazei tis eikones analoga me thn timh tou metrhth m
def change_image(self):
for i in range(6):
if self.m==i:
self.image.set_from_file(self.make_image_name(i))
return True
#vriskei ta gramata ths leksis
def show_gr(self):
new="" #apothikeuetai h nea leksi
for i in range(len(self.w)): #to i pairnei times apo 0 mexri to mikos tis leksis
if self.gr==self.w: #an to grama uparxei sth leksi
new=new+self.gr #to vazei sto new
else:
new=new+self.p #allios vazei paula, to p[] periexei paules
self.p=new
self.textbuffer2.set_text(new) #emfanizei sto textview2 th nea leksi
#eisagei stoixeia sto arxeio elements_file.txt, to opoio periexei statistika stoixeia ton paikton
def insert_text_file(self, strng):
file_obj=' '
file_obj=open("elements_file.txt", "a") #anoigei to arxeio gia eisagogh stoixeion
file_obj.write(strng) #grafei ta stoixeia
file_obj.close() #kleinei to arxeio
#otan path8ei to save, apo8ikeuontai kapoia stoixeia sto elements_file.txt
def buttonsave(self,widget):
self.disable_buttCateg(True)
self.disable_keyboard(True)
self.button_save.set_sensitive(False) #apenergopoihsh tou button save, etsi oste ka8e neos paikths
#na apo8hkeuei mia fora to onoma tou oso exei anoixto to paixnidi
ss=" "
ss="\nonoma: "+self.entryname.get_text()+"\n" #onoma paikth
xronos=date.today() #hmerominia
y=xronos.strftime("%m-%d-%y") #y=periexei thn hmerominis p.x. 03-05-09
u=time.localtime() #ora
w=time.strftime("%H:%M:%S", u) #w=periexei thn ora p.x. 12:25:13
## rr=str(y)
## uu=str(w)
## self.insert_text_file(ss+"hmerominia - ora: "+rr+" / "+uu+"\n")
self.insert_text_file(ss+"hmerominia - ora: "+y+" / "+w+"\n")
#kaleitai otan o piakths vrei th leksi
def sosti_leksi(self):
if self.w==self.p: #an h epilegmenh leksi 'w' einai ish me thn metabliti 'p' poy periexei ta sosta
#gramata poy vriskei o paikths
self.entrymin.set_text("Sugxarhthria, kerdises!!")
self.disable_keyboard(False)
self.image1.set_from_file('imgg/Kerdises.jpg')
s=self.categ+": "+str(1)+" nikh me "+str(6-self.m)+" prospatheies\n"
self.insert_text_file(s)
#apenergopoiei to plhktrologio
def disable_keyboard(self, valuebool):
for i in range(26):
self.list_button.set_sensitive(valuebool)
#apenergopoihsh button kathgorion
def disable_buttCateg(self, timi):
self.buttongeo.set_sensitive(timi)
self.buttonhist.set_sensitive(timi)
self.buttonnat.set_sensitive(timi)
#kaleitai otan o piakths den vrei th leksi
def lathos_leksi(self):
self.entrymin.set_text("Dystyxos exases. H sosth leksi einai: "+self.w)
self.disable_keyboard(False)
self.image1.set_from_file('imgg/exases.jpg')
rr=self.categ+": "+str(1)+" htta\n"
self.insert_text_file(rr)
#elegxei an to grama exei dothei ksana
def gr_again(self, g, lista):
for k in range(len(lista)): #h lista periexei ta gramata pou exoun do8ei hdh
if lista[k]==g:
return True
#kaleitai otan patithei kapoio grama
def add_letter(self,widget, grama):
self.gr=grama
self.entrymin.set_text("")
again=self.gr_again(self.gr, self.list_again)
if again==True:
self.entrymin.set_text("To gramma uparxei hdh. Dose allo gramma.")
else:
self.find_w()
#h synarthsh me oles tis leitourgies gia na brethei h leksi
def find_w(self):
self.list_again.append(self.gr) #vazei to grama sth lista me ta dosmena gramata
t=self.w.find(self.gr) #elegxei an to grama uparxei sth leksi
if t==-1: #an den uparxei
self.m=self.m-1 #meionei ton metrhth prospatheion
if self.m==0: #an einai mhden, emfanizei thn protash, emfanizei to la8os grama kai to skitso, kalei thn lathos_leksi
self.entryprot.set_text("Exeis "+str(self.m)+" prospatheies gia na breis th leksi")
self.entrygr.insert_text(self.gr+" ",len(self.entgr)-1)
self.image.set_from_file(self.make_image_name(0))
self.lathos_leksi()
elif self.m>0: #an einai megalytero tou mhdenos, emfanizei thn protash, emfanizei to la8os grama kai to skitso
self.entryprot.set_text("Exeis "+str(self.m)+" prospatheies gia na breis th leksi")
self.entrygr.insert_text(self.gr+" ",len(self.entgr)-1)
self.change_image()
else: #an uparxei to gramma kalei tis show_gr() kai sosti_leksi()
self.show_gr()
self.sosti_leksi()
#epistrefei thn kathgoria pou epelekse o paikths gia na graftei sto arxeio me ta stoixeia
def name_category(self, lista):
if lista==self.list_geo:
self.categ="geografia"
elif lista==self.list_hist:
self.categ="history"
elif lista==self.list_nat:
self.categ="periballon"
return self.categ
#vriskei kai epistrefei thn antistoixh erotisi analoga me thn epilegmenh leksi
def question(self, listakat):
q=""
if listakat==self.list_geo:
for i in range(7):
if self.list_geo==self.w:
q=self.list_question_geo
elif listakat==self.list_hist:
for i in range(7):
if self.list_hist==self.w:
q=self.list_question_hist
elif listakat==self.list_nat:
for i in range(7):
if self.list_nat==self.w:
q=self.list_question_nat
return q
#kaleitai otan path8ei button kapoias kathgorias
def random_word(self, widget, lista):
self.name_category(lista)
self.m=6
self.clear()
self.w=random.choice(lista)
n=len(self.w)
self.p="-"*n
iter=self.textbuffer2.get_iter_at_offset(0)
self.textbuffer2.insert(iter,self.p)
ques=self.question(lista)
self.textbuffer1.set_text(ques)
#katharizei thn othonh se kathe neo paixnidi
def clear(self):
self.entrygr.set_text(" ")
self.entrymin.set_text(" ")
self.entryprot.set_text("Exeis 6 prospatheies gia na breis th leksi")
self.textbuffer2.set_text(" ")
self.list_again=[]
self.image.set_from_file(self.make_image_name(6))
self.image1.set_from_file('imgg/skepsi.jpg')
self.disable_keyboard(True)
def main():
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
KremalaActivity(win)
gtk.main()
return 0
if __name__ == "__main__":
main()
nikosokin 0 Newbie Poster
Hi, i'm trying to compile a .py file on eclipse using Pydev. I import in my code and pygtk. WHen i run it as 'Python Run' it terminates it.
I think it raise SystemExit when it imports 'gtk' and gobject'.....
Here is the code:
try :
import gtk
import gobject
except:
raise SystemExit
import pygtk
if gtk.pygtk_version<(2.0):
print "pygtk 2.0 or later require for this widget"
raise SystemExit
import pango
import random
import time
from os import open
from datetime import date
from sugar.activity import activity
class KremalaActivity(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
self.set_title("Kremala Activity")
# Show the toolbox elements
toolbox = activity.ActivityToolbox(self)
self.set_toolbox(toolbox)
toolbox.show()
table=gtk.Table()
table.set_homogeneous(False)
table.set_row_spacings(4)
table.set_col_spacings(4)
#listes me tis lekseis kai tis erotiseis
self.list_geo=["constantinople", "vatican","taygetus","norway","olympus","himalaya", "caspian"]
self.list_hist=["galille","mavrogenous","yalta","justinian","aristotle","helots","leonidas"]
self.list_nat=["oxygen","chlorophyll","sarcophagus","herb","plankton","petroleum","deciduous"]
self.list_question_geo=["einai h monadiki poli pou vrisketai anamesa se 2 xores",
"europaiko kratos pou exei ektash molis miso tetragoniko xlm.",
"se auto to bouno vriskotan o Kaiadas", "xora opou einai oi psiloteroi kataraktes tis Europis",
"einai to psilotero vouno tis Elladas", "h upsiloterh korufh tou kosmou",
"einai h megaluterh limnh ths ghs kai exei almuro nero"]
self.list_question_hist=["eipe ti frash 'ki omos kineitai'.",
"iroida ths ellinikis epanastashs pou ediokse o Kolleths apo to Nauplio",
"diaskepsi stin opoia suzhththike i idrish tou OHE","vizantinos autokratoras",
"daskalos tou M.Aleksandrou", "legontan oi douloi sthn arxaia Sparth",
"vasilias ths Sparths pou eipe to gnosto <molon lave> "]
self.list_question_nat=["xoris auto den uparxei zoi","aparaititi gia to xroma ton futon",
"einai to zoo pou trafetai mono me kreas","futo pou mporei na einai therapeutiko",
"trefontai ta psaria me auto", "paxureusto, mauro orukto pou apokaleitai kai <mauros xrusos> ",
"etsi legetai to dentro pou rixnei ta fulla tou to fthinoporo"]
#plaisio gia eisagogi onomatos
entryname=gtk.Entry()
entryname.modify_font(pango.FontDescription(str='sans bold 10'))
entryname.set_max_length(100)
self.entname=entryname.get_text()
button_save=gtk.Button("save")
button_save.connect("clicked",self.buttonsave)
tooltips = gtk.Tooltips()
tooltips.set_tip(button_save, "save the name")
#plaisio opou emfanizetai o kremasmenos an8ropos
self.m=6
vbox=gtk.VBox()
event_box = gtk.EventBox()
event_box.modify_bg(gtk.STATE_NORMAL, event_box.get_colormap().alloc_color("#75B844"))
image = gtk.Image()
image.set_from_file(self.make_image_name(self.m))
self.image=image
event_box.add(self.image)
vbox.add(event_box)
#plaisio opou emfanizontai oi eikones me to prosopo analoga me to minima pou emfanizetai
vbox1=gtk.VBox()
event_box1= gtk.EventBox()
event_box1.modify_bg(gtk.STATE_NORMAL, event_box1.get_colormap().alloc_color("#FFF333"))
image1 = gtk.Image()
image1.set_from_file('imgg/skepsi.jpg')
self.image1=image1
event_box1.add(self.image1)
vbox1.add(event_box1)
#kathgories
table_category=gtk.Table()
table_category.set_homogeneous(False)
table_category.set_row_spacings(2)
table_category.set_col_spacings(2)
buttongeo=gtk.Button("GEOGRAFIA")
buttongeo.connect("clicked", self.random_word, self.list_geo)
tooltips = gtk.Tooltips()
tooltips.set_tip(buttongeo, "BUTTON GEOGRAFIA")
buttonhist=gtk.Button("ISTORIA")
buttonhist.connect("clicked", self.random_word, self.list_hist)
tooltips = gtk.Tooltips()
tooltips.set_tip(buttonhist, "BUTTON ISTORIA")
buttonnat=gtk.Button("PERIVALLON")
buttonnat.connect("clicked", self.random_word, self.list_nat)
tooltips = gtk.Tooltips()
tooltips.set_tip(buttonnat, "BUTTON PERIVALLON")
self.buttongeo=buttongeo
self.buttonhist=buttonhist
self.buttonnat=buttonnat
table_category.attach(buttongeo,0,1,0,1)
table_category.attach(buttonhist,0,1,1,2)
table_category.attach(buttonnat,0,1,2,3)
#plaisio opou emfanizetai h eikona dipla stis kathgories
vbox2=gtk.VBox()
event_box2= gtk.EventBox()
event_box2.modify_bg(gtk.STATE_NORMAL, event_box2.get_colormap().alloc_color("#75B844"))
image2 = gtk.Image()
image2.set_from_file('imgg/img_kategory.jpg')
self.image2=image2
event_box2.add(self.image2)
vbox2.add(event_box2)
#plaisio opou emfanizetai h leksi
textview2=gtk.TextView()
textview2.set_editable(False)
textview2.set_cursor_visible(False)
textview2.set_justification(gtk.JUSTIFY_CENTER)
textview2.modify_font(pango.FontDescription(str='sans bold 18'))
self.textbuffer2=textview2.get_buffer()
##plaisio opou emfanizontai ta la8os grammata
entrygr=gtk.Entry()
entrygr.modify_font(pango.FontDescription(str='sans bold 16'))
entrygr.set_max_length(13)
self.entgr=entrygr.get_text()
tooltips = gtk.Tooltips()
tooltips.set_tip(entrygr, "edo emfanizontai ta lathos gramata")
#plaisio opou emfanizetai h erotisi
textview1=gtk.TextView()
textview1.set_editable(False)
textview1.set_cursor_visible(False)
textview1.set_justification(gtk.JUSTIFY_LEFT)
textview1.modify_font(pango.FontDescription(str='sans bold 8'))
self.textbuffer1=textview1.get_buffer()
labelname=gtk.Label(" onoma paikth:")
labelname.modify_font(pango.FontDescription(str='sans bold 10'))
labelname.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse('red'))
#plaisio opou emfanizontai ta analoga minimata
entrymin=gtk.Entry()
entrymin.modify_font(pango.FontDescription(str='sans bold 10'))
entrymin.set_max_length(100)
self.entmin=entrymin.get_text()
#plaisio opou emfanizontai oi prospa8eies
entryprot=gtk.Entry()
entryprot.modify_font(pango.FontDescription(str='sans bold 12'))
entryprot.set_max_length(70)
self.entprot=entryprot.get_text()
#dhmiourgei to plhktrologio me ta gramata
pad=gtk.Table()
table.set_homogeneous(False)
pad.set_row_spacings(2)
pad.set_col_spacings(1)
but_a=gtk.Button('A')
but_a.connect("clicked", self.add_letter, 'a')
self.but_a=but_a
but_b=gtk.Button('B')
but_b.connect("clicked", self.add_letter, 'b')
self.but_b=but_b
but_c=gtk.Button('C')
but_c.connect("clicked", self.add_letter, 'c')
self.but_c=but_c
but_d=gtk.Button('D')
but_d.connect("clicked", self.add_letter, 'd')
self.but_d=but_d
but_e=gtk.Button('E')
but_e.connect("clicked", self.add_letter, 'e')
self.but_e=but_e
but_f=gtk.Button('F')
but_f.connect("clicked", self.add_letter, 'f')
self.but_f=but_f
but_g=gtk.Button('G')
but_g.connect("clicked", self.add_letter, 'g')
self.but_g=but_g
but_h=gtk.Button('H')
but_h.connect("clicked", self.add_letter, 'h')
self.but_h=but_h
but_i=gtk.Button('I')
but_i.connect("clicked", self.add_letter, 'i')
self.but_i=but_i
but_j=gtk.Button('J')
but_j.connect("clicked", self.add_letter, 'j')
self.but_j=but_j
but_k=gtk.Button('K')
but_k.connect("clicked", self.add_letter, 'k')
self.but_k=but_k
but_l=gtk.Button('L')
but_l.connect("clicked", self.add_letter, 'l')
self.but_l=but_l
but_m=gtk.Button('M')
but_m.connect("clicked", self.add_letter, 'm')
self.but_m=but_m
but_n=gtk.Button('N')
but_n.connect("clicked", self.add_letter, 'n')
self.but_n=but_n
but_o=gtk.Button('O')
but_o.connect("clicked", self.add_letter, 'o')
self.but_o=but_o
but_p=gtk.Button('P')
but_p.connect("clicked", self.add_letter, 'p')
self.but_p=but_p
but_q=gtk.Button('Q')
but_q.connect("clicked", self.add_letter, 'q')
self.but_q=but_q
but_r=gtk.Button('R')
but_r.connect("clicked", self.add_letter, 'r')
self.but_r=but_r
but_s=gtk.Button('S')
but_s.connect("clicked", self.add_letter, 's')
self.but_s=but_s
but_t=gtk.Button('T')
but_t.connect("clicked", self.add_letter, 't')
self.but_t=but_t
but_u=gtk.Button('U')
but_u.connect("clicked", self.add_letter, 'u')
self.but_u=but_u
but_v=gtk.Button('V')
but_v.connect("clicked", self.add_letter, 'v')
self.but_v=but_v
but_w=gtk.Button('W')
but_w.connect("clicked", self.add_letter, 'w')
self.but_w=but_w
but_x=gtk.Button('X')
but_x.connect("clicked", self.add_letter, 'x')
self.but_x=but_x
but_y=gtk.Button('Y')
but_y.connect("clicked", self.add_letter, 'y')
self.but_y=but_y
but_z=gtk.Button('Z')
but_z.connect("clicked", self.add_letter, 'z')
self.but_z=but_z
pad.attach(but_a,0,1,0,1)
pad.attach(but_b,1,2,0,1)
pad.attach(but_c,2,3,0,1)
pad.attach(but_d,3,4,0,1)
pad.attach(but_e,4,5,0,1)
pad.attach(but_f,5,6,0,1)
pad.attach(but_g,6,7,0,1)
pad.attach(but_h,7,8,0,1)
pad.attach(but_i,8,9,0,1)
pad.attach(but_j,9,10,0,1)
pad.attach(but_k,10,11,0,1)
pad.attach(but_l,11,12,0,1)
pad.attach(but_m,12,13,0,1)
pad.attach(but_n,0,1,1,2)
pad.attach(but_o,1,2,1,2)
pad.attach(but_p,2,3,1,2)
pad.attach(but_q,3,4,1,2)
pad.attach(but_r,4,5,1,2)
pad.attach(but_s,5,6,1,2)
pad.attach(but_t,6,7,1,2)
pad.attach(but_u,7,8,1,2)
pad.attach(but_v,8,9,1,2)
pad.attach(but_w,9,10,1,2)
pad.attach(but_x,10,11,1,2)
pad.attach(but_y,11,12,1,2)
pad.attach(but_z,12,13,1,2)
#vazei ola ta widgets sto table
table.attach(labelname,1,4,0,1)
table.attach(entryname,4,5,0,1)
table.attach(button_save,5,7,0,1)
table.attach(vbox,0,2,0,4)
table.attach(table_category,2,4,1,2)
table.attach(vbox2,4,10,1,2)
table.attach(textview2,2,10,2,3)
table.attach(entrygr, 2,10,3,4)
table.attach(textview1,0,10,4,5)
table.attach(vbox1,0,1,5,6)
table.attach(entrymin, 1,10,5,6)
table.attach(entryprot, 0,10,6,7)
table.attach(pad, 0,10,7,8)
##
## window.add(table)
## window.show_all()
# vazei to table ston kamva tou sugar kai to emfanizei
self.set_canvas(table)
self.show_all()
self.view2=textview2
self.entrygr=entrygr
self.entrymin=entrymin
self.entryprot=entryprot
self.entryname=entryname
self.button_save=button_save
self.image.set_from_file(self.make_image_name(6))
self.list_button=[self.but_a, self.but_b,self.but_c,self.but_d,self.but_e,self.but_f,
self.but_g,self.but_h,self.but_i,self.but_j,self.but_k,self.but_l,
self.but_m,self.but_n,self.but_o,self.but_p,self.but_q,self.but_r,
self.but_s,self.but_t,self.but_u,self.but_v,self.but_w,self.but_x,
self.but_y,self.but_z]
self.buttongeo.set_sensitive(False)
self.buttonhist.set_sensitive(False)
self.buttonnat.set_sensitive(False)
self.disable_keyboard(False)
self.entryprot.set_text("Exeis 6 prospatheies gia na breis th leksi")
#metavlites
self.w=" " #apithikeuetai h epilegmenh leksi
self.p=" " #apothikeuontai oi paules
self.list_again=[] #lista me ta gramata pou dinontai
self.gr=' ' #to grama pou epilegei o xrhsths
self.categ=" "
#epistrefei thn eikona
def make_image_name(self, image_number):
return "imgg/image" + str(image_number) + ".jpg"
#synarthsh poy allazei tis eikones analoga me thn timh tou metrhth m
def change_image(self):
for i in range(6):
if self.m==i:
self.image.set_from_file(self.make_image_name(i))
return True
#vriskei ta gramata ths leksis
def show_gr(self):
new="" #apothikeuetai h nea leksi
for i in range(len(self.w)): #to i pairnei times apo 0 mexri to mikos tis leksis
if self.gr==self.w[i]: #an to grama uparxei sth leksi
new=new+self.gr #to vazei sto new
else:
new=new+self.p[i] #allios vazei paula, to p[] periexei paules
self.p=new
self.textbuffer2.set_text(new) #emfanizei sto textview2 th nea leksi
#eisagei stoixeia sto arxeio elements_file.txt, to opoio periexei statistika stoixeia ton paikton
def insert_text_file(self, strng):
file_obj=' '
file_obj=open("elements_file.txt", "a") #anoigei to arxeio gia eisagogh stoixeion
file_obj.write(strng) #grafei ta stoixeia
file_obj.close() #kleinei to arxeio
#otan path8ei to save, apo8ikeuontai kapoia stoixeia sto elements_file.txt
def buttonsave(self,widget):
self.disable_buttCateg(True)
self.disable_keyboard(True)
self.button_save.set_sensitive(False) #apenergopoihsh tou button save, etsi oste ka8e neos paikths
#na apo8hkeuei mia fora to onoma tou oso exei anoixto to paixnidi
ss=" "
ss="\nonoma: "+self.entryname.get_text()+"\n" #onoma paikth
xronos=date.today() #hmerominia
y=xronos.strftime("%m-%d-%y") #y=periexei thn hmerominis p.x. 03-05-09
u=time.localtime() #ora
w=time.strftime("%H:%M:%S", u) #w=periexei thn ora p.x. 12:25:13
## rr=str(y)
## uu=str(w)
## self.insert_text_file(ss+"hmerominia - ora: "+rr+" / "+uu+"\n")
self.insert_text_file(ss+"hmerominia - ora: "+y+" / "+w+"\n")
#kaleitai otan o piakths vrei th leksi
def sosti_leksi(self):
if self.w==self.p: #an h epilegmenh leksi 'w' einai ish me thn metabliti 'p' poy periexei ta sosta
#gramata poy vriskei o paikths
self.entrymin.set_text("Sugxarhthria, kerdises!!")
self.disable_keyboard(False)
self.image1.set_from_file('imgg/Kerdises.jpg')
s=self.categ+": "+str(1)+" nikh me "+str(6-self.m)+" prospatheies\n"
self.insert_text_file(s)
#apenergopoiei to plhktrologio
def disable_keyboard(self, valuebool):
for i in range(26):
self.list_button[i].set_sensitive(valuebool)
#apenergopoihsh button kathgorion
def disable_buttCateg(self, timi):
self.buttongeo.set_sensitive(timi)
self.buttonhist.set_sensitive(timi)
self.buttonnat.set_sensitive(timi)
#kaleitai otan o piakths den vrei th leksi
def lathos_leksi(self):
self.entrymin.set_text("Dystyxos exases. H sosth leksi einai: "+self.w)
self.disable_keyboard(False)
self.image1.set_from_file('imgg/exases.jpg')
rr=self.categ+": "+str(1)+" htta\n"
self.insert_text_file(rr)
#elegxei an to grama exei dothei ksana
def gr_again(self, g, lista):
for k in range(len(lista)): #h lista periexei ta gramata pou exoun do8ei hdh
if lista[k]==g:
return True
#kaleitai otan patithei kapoio grama
def add_letter(self,widget, grama):
self.gr=grama
self.entrymin.set_text("")
again=self.gr_again(self.gr, self.list_again)
if again==True:
self.entrymin.set_text("To gramma uparxei hdh. Dose allo gramma.")
else:
self.find_w()
#h synarthsh me oles tis leitourgies gia na brethei h leksi
def find_w(self):
self.list_again.append(self.gr) #vazei to grama sth lista me ta dosmena gramata
t=self.w.find(self.gr) #elegxei an to grama uparxei sth leksi
if t==-1: #an den uparxei
self.m=self.m-1 #meionei ton metrhth prospatheion
if self.m==0: #an einai mhden, emfanizei thn protash, emfanizei to la8os grama kai to skitso, kalei thn lathos_leksi
self.entryprot.set_text("Exeis "+str(self.m)+" prospatheies gia na breis th leksi")
self.entrygr.insert_text(self.gr+" ",len(self.entgr)-1)
self.image.set_from_file(self.make_image_name(0))
self.lathos_leksi()
elif self.m>0: #an einai megalytero tou mhdenos, emfanizei thn protash, emfanizei to la8os grama kai to skitso
self.entryprot.set_text("Exeis "+str(self.m)+" prospatheies gia na breis th leksi")
self.entrygr.insert_text(self.gr+" ",len(self.entgr)-1)
self.change_image()
else: #an uparxei to gramma kalei tis show_gr() kai sosti_leksi()
self.show_gr()
self.sosti_leksi()
#epistrefei thn kathgoria pou epelekse o paikths gia na graftei sto arxeio me ta stoixeia
def name_category(self, lista):
if lista==self.list_geo:
self.categ="geografia"
elif lista==self.list_hist:
self.categ="history"
elif lista==self.list_nat:
self.categ="periballon"
return self.categ
#vriskei kai epistrefei thn antistoixh erotisi analoga me thn epilegmenh leksi
def question(self, listakat):
q=""
if listakat==self.list_geo:
for i in range(7):
if self.list_geo[i]==self.w:
q=self.list_question_geo[i]
elif listakat==self.list_hist:
for i in range(7):
if self.list_hist[i]==self.w:
q=self.list_question_hist[i]
elif listakat==self.list_nat:
for i in range(7):
if self.list_nat[i]==self.w:
q=self.list_question_nat[i]
return q
#kaleitai otan path8ei button kapoias kathgorias
def random_word(self, widget, lista):
self.name_category(lista)
self.m=6
self.clear()
self.w=random.choice(lista)
n=len(self.w)
self.p="-"*n
iter=self.textbuffer2.get_iter_at_offset(0)
self.textbuffer2.insert(iter,self.p)
ques=self.question(lista)
self.textbuffer1.set_text(ques)
#katharizei thn othonh se kathe neo paixnidi
def clear(self):
self.entrygr.set_text(" ")
self.entrymin.set_text(" ")
self.entryprot.set_text("Exeis 6 prospatheies gia na breis th leksi")
self.textbuffer2.set_text(" ")
self.list_again=[]
self.image.set_from_file(self.make_image_name(6))
self.image1.set_from_file('imgg/skepsi.jpg')
self.disable_keyboard(True)
def main():
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
KremalaActivity(win)
gtk.main()
return 0
if __name__ == "__main__":
main()
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.