1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| import tkinter as tk
from tkinter import *
import random
#######################################################################################################
class Appli(tk.Frame): # FENETRE PRINCIPALE
def __init__(self,root):
tk.Frame.__init__(self,root)
self.can=tk.Canvas(self,width=400,height=400,bg="bisque")
self.can.grid(row=0, column=0, sticky="nsew")
self.xsb = tk.Scrollbar(self, orient="horizontal", command=self.can.xview)
self.ysb = tk.Scrollbar(self, orient="vertical", command=self.can.yview)
self.can.config(yscrollcommand=self.ysb.set, xscrollcommand=self.xsb.set)
self.can.config(scrollregion=(0,0,2000,2000))
self.xsb.grid(row=1, column=0, sticky="ew")
self.ysb.grid(row=0, column=1, sticky="ns")
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(0, weight=1)
for n in range(50):
x0 = random.randint(0, 900)
y0 = random.randint(50, 900)
x1 = x0 + random.randint(50, 100)
y1 = y0 + random.randint(50,100)
color = ("red", "orange", "yellow", "green", "blue")[random.randint(0,4)]
self.can.create_rectangle(x0,y0,x1,y1, outline="black", fill=color)
self.can.create_text(50,10, anchor="nw",
text="Click and drag to move the canvas")
self.fr=Frame(self.can,width=270,height=300,bg="red")#pour obtenir toutes les données nécessaires
self.can.create_window(30,50,anchor='nw',window=self.fr)#pour obtenir toutes les données nécessaires
self.can.create_text(500,500, anchor="nw",
text="texte 2")
# This is what enables scrolling with the mouse:
self.bind("<ButtonPress-1>", self.scroll_start)
self.bind("<B1-Motion>", self.scroll_move)
def scroll_start(self, event):
self.scan_mark(event.x, event.y)
def scroll_move(self, event):
self.scan_dragto(event.x, event.y, gain=1)
############# LANCEMENT PROGRAMME ##################
root = Tk()
root.title('tournoi')
root.state('zoomed')
Appli(root).pack(fill="both", expand=True)
root.mainloop()
############# FIN ################## |
Partager