tkinter - tabelle

Fragen zu Tkinter.
rogen

tkinter - tabelle

Beitragvon rogen » Samstag 20. September 2003, 17:39

ich bin dabei eine tabelle in tk zu schreiben.

hier mein code

die for schreife zeichnet die tabelle
das problem ist das ich die zeilen nicht zerstören kann.

wie kann ich alles zellen im frame zerstören und dann wieder zeichnen.


Code: Alles auswählen

from Tkinter import *
from datenbank import *

global scroll
scroll = 0

class tabel:
   
   HIGHLIGHT ="red"
   UNSELECTET ="#FFFFFF"
   def __init__(self,frame,zeile,spalte,daten,id):
      "eine Zelle erzeugen"
      self.zelle = Label(frame,text=daten,bg="white",width=10,border=2)
      self.zelle.grid(row=zeile,column=spalte)
      self.zelle.bind("<ButtonRelease-1>",self.anz)
      self.zelle.bind("<Enter>",self.on_enter)
      self.zelle.bind("<Leave>",self.on_leave)
      self.id = id
      
   def on_leave(self,event):
      event.widget["bg"] = tabel.UNSELECTET
   
   def on_enter(self,event):
      event.widget["bg"] = tabel.HIGHLIGHT
   
   def anz(self,event):
      print self.id
      
nummer = 4
wert = 0

tab = tabel
zeit1 = zeit()


frame = Tk()


def unten():
   global scroll
   scroll = scroll + 1
   print scroll
   start()
   
def oben():
   global scroll
   scroll = scroll - 1
   print "ok"
   print scroll
   start()


ob = Button(frame,text="unten",command=unten)
ob.grid(row=20,column=20)

un = Button(frame,text="oben",command=oben)
un.grid(row=10,column=20)

wert = zeit1.show('adresseid',nummer)

print "---------------------"
print len(wert)
print "---------------------"

def start():
   zahler = 0
   for a in range(3):
      #print a
      if zahler+scroll < len(wert):
         print "--------------------------------"
         tab(frame,zahler,0,wert[zahler+scroll][2],wert[zahler][0])
         tab(frame,zahler,1,wert[zahler+scroll][3],wert[zahler][0])
         tab(frame,zahler,2,wert[zahler+scroll][5],wert[zahler][0])
         tab(frame,zahler,3,wert[zahler+scroll][4],wert[zahler][0])
      zahler = zahler +1
      print zahler

start()
mainloop()
rogen

gib sie mir selbst eine antwort

Beitragvon rogen » Samstag 20. September 2003, 19:43

ich überzeichne einfach jedesmal die tabelle

Code: Alles auswählen

from Tkinter import *
from datenbank import *

global scroll
scroll = 0

class tabel:
   
   HIGHLIGHT ="red"
   UNSELECTET ="#FFFFFF"
   def __init__(self,frame,zeile,spalte,daten,id):
      "eine Zelle erzeugen"
      self.zelle = Entry(frame,bg="white",width=10,border=1)
      self.zelle.insert(0,daten)
      self.zelle.grid(row=zeile,column=spalte)
      self.zelle.bind("<ButtonRelease-1>",self.anz)
      self.zelle.bind("<Enter>",self.on_enter)
      self.zelle.bind("<Leave>",self.on_leave)
      self.id = id
      
   def on_leave(self,event):
      event.widget["bg"] = tabel.UNSELECTET
   
   def on_enter(self,event):
      event.widget["bg"] = tabel.HIGHLIGHT
   
   def anz(self,event):
      print self.id
      
nummer = 2
wert = 0

tab = tabel
zeit1 = zeit()


frame = Tk()


def unten():
   global scroll
   scroll = scroll + 1
   print scroll
   start()
   
def oben():
   global scroll
   scroll = scroll - 1
   print "ok"
   print scroll
   start()


ob = Button(frame,text="unten",command=unten)
ob.grid(row=3,column=5)

un = Button(frame,text="oben",command=oben)
un.grid(row=4,column=5)

wert = zeit1.show('adresseid',nummer)

print "---------------------"
print len(wert)
print "---------------------"

def start():
   zahler = 0
   for a in range(3):
      zerst1 = Label(frame,text="",width=10)
      zerst1.grid(row=a,column=0)
      zerst2 = Label(frame,text="",width=10)
      zerst2.grid(row=a,column=1)
      zerst3 = Label(frame,text="",width=10)
      zerst3.grid(row=a,column=2)
      zerst4 = Label(frame,text="",width=10)
      zerst4.grid(row=a,column=3)
      
      
   zahler = 0
   for a in range(3):
      
      #print a
      if zahler+scroll < len(wert):
         tab(frame,zahler,0,wert[zahler+scroll][2],wert[zahler][0])
         tab(frame,zahler,1,wert[zahler+scroll][3],wert[zahler][0])
         tab(frame,zahler,2,wert[zahler+scroll][5],wert[zahler][0])
         tab(frame,zahler,3,wert[zahler+scroll][4],wert[zahler][0])
      zahler = zahler +1
      print zahler

start()
mainloop()

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder