78 lines
1.8 KiB
Python
78 lines
1.8 KiB
Python
import pygtk
|
|
pygtk.require('2.0')
|
|
import gtk
|
|
from random import *
|
|
|
|
#renvoi une valeur aleatoire
|
|
def random2():
|
|
a = random()
|
|
aa = a*255.0*257.0
|
|
b = round(aa)
|
|
c = int(b)
|
|
return c
|
|
|
|
#fonction qui genere un evenement quitter
|
|
def click_quite(widget):
|
|
gtk.main_quit()
|
|
|
|
#seconde gestionn de pixel
|
|
def expose_handler_remplir(widget, event):
|
|
widget.set_size_request(512,512)
|
|
w, h = widget.window.get_size()
|
|
print "w = " + str(w) + " | h = " + str(h)
|
|
xgc = widget.window.new_gc()
|
|
cptW = 0
|
|
cptH = 0
|
|
while cptH < 512:
|
|
while cptW < 512:
|
|
xgc.set_rgb_fg_color(gtk.gdk.Color(random2(),0,0, pixel = 0))
|
|
widget.window.draw_point(xgc, cptW, cptH)
|
|
cptW += 1
|
|
cptH += 1
|
|
cptW = 0
|
|
print "cptW = " + str(cptW) + "| cptH = " + str(cptH)
|
|
|
|
#definition des elements de base de la fenetre
|
|
def param_main_window(widget):
|
|
widget.set_title("Test object drawable")
|
|
widget.set_size_request(500,500)
|
|
|
|
def param_main_manual_window(widget, src1, sizeX, sizeY):
|
|
widget.set_title(src1)
|
|
widget.set_size_request(sizeX, sizeY)
|
|
|
|
|
|
#creation de la fneetre principal
|
|
fen = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
|
#definition des elements de base de la fenetre
|
|
param_main_manual_window(fen, "Test object drawable manual", 800, 800)
|
|
button = gtk.Button("Quit") #bouton
|
|
button2 = gtk.Button("Quit") # seocnd bouton
|
|
zone = gtk.DrawingArea() #zone de dessin
|
|
vBox = gtk.VBox() #boite de placement
|
|
|
|
|
|
#raccordement a la fenetre de la box
|
|
fen.add(vBox)
|
|
|
|
#connection des differents elements
|
|
button.connect("clicked", click_quite)
|
|
button2.connect("clicked", click_quite)
|
|
zone.set_size_request(512,512)
|
|
zone.connect("expose-event", expose_handler_remplir)
|
|
|
|
#ajout des elemnts dans les box
|
|
vBox.pack_start(button)
|
|
vBox.pack_start(zone)
|
|
vBox.pack_start(button2)
|
|
|
|
#affichage des differents elements
|
|
button.show()
|
|
button2.show()
|
|
zone.show()
|
|
vBox.show()
|
|
fen.show()
|
|
gtk.main()
|
|
|
|
|