Tabelle auslesen

Fragen zu Tkinter.
Antworten
DMD-OL
User
Beiträge: 327
Registriert: Samstag 26. Dezember 2015, 16:21

hi
bin mal wieder am schwimmen!
wie bekomm ich bei meiner Tabelle, die einzelnen Entries ausgelesen?
weitere auflage für mich ist, die entry breiten sollen so bleichen.
mit bitte um hilfe .)

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import Tkinter

mat_fenster = Tkinter.Tk()

mat_fenster.geometry('600x650+500+150')
mat_fenster.title('Materialliste')
def data():

    height = 50
    width = 4

    for i in range(height): #Rows
        #for j in range(width): #Columns
        #    print j,i

        pos_1 = Tkinter.StringVar()
        entry_1 = Tkinter.Entry(frame,textvariable=pos_1, width=10, relief="sunken",  bg='#fff', fg="#000000000", justify='center').grid(column=0,row=i)
        pos_2 = Tkinter.StringVar()
        entry_2 = Tkinter.Entry(frame,textvariable=pos_2, width=11, relief="sunken",  bg='#fff', fg="#000000000", justify='center').grid(column=1,row=i)
        pos_3 = Tkinter.StringVar()
        entry_3 = Tkinter.Entry(frame,textvariable=pos_3, width=14, relief="sunken",  bg='#fff', fg="#000000000", justify='center').grid(column=2, row=i)
        pos_4 = Tkinter.StringVar()
        entry_4 = Tkinter.Entry(frame,textvariable=pos_4, width=46, relief="sunken",  bg='#fff', fg="#000000000", justify='center').grid(column=3, row=i)
        pos_5 = Tkinter.StringVar()


def myfunction(event):
    canvas.configure(scrollregion=canvas.bbox("all"),width=502,height=250)
def mouse_wheel(event):
     dir = 0
     if event.num == 5 or event.delta == -120:
         dir = 1
     if event.num == 4 or event.delta == 120:
         dir = -1
     canvas.yview_scroll(dir, "units")

myframe=Frame(mat_fenster,relief=GROOVE,width=60,height=50,bd=1)
myframe.place(x=30,y=250)
canvas=Canvas(myframe)
frame=Frame(canvas)
myscrollbar=Scrollbar(myframe,orient="vertical",command=canvas.yview)
canvas.configure(yscrollcommand=myscrollbar.set)
myscrollbar.pack(side="right",fill="y")
canvas.pack(side="left")
canvas.create_window((50,50),window=frame,anchor='nw')
frame.bind("<Configure>",myfunction)
mat_fenster.bind("<MouseWheel>", mouse_wheel)
data()


def speichern():

    widht = range(4)
    height = 50
    for column in widht:
        print column

    #posten_1 = pos_1.get() #row und column?
    #posten_2 = pos_2.get()
    #posten_3 = pos_3.get()
    #posten_4 = pos_4.get()


b_mat1 = Tkinter.Button(mat_fenster, text=('Bestätigen'), width=15, height=1, relief="raised", fg="#000000000", justify='center', command=speichern)
b_mat1.place(x=410,y=535)
#b = Button(root, text="print value", command= lambda entry=entry: print_value(entry), width=10).grid(row=i, column=j+1)


def zurueck():
    mat_fenster.destroy()

b_mat2 = Tkinter.Button(mat_fenster, text=('Zurück'), width=15, height=1, relief="raised", fg="#000000000", justify='center', command=zurueck)
b_mat2.place(x=410,y=580)

mat_fenster.mainloop()
im netz gibt es dazu so ziemlich gar nichts, leider.
Sirius3
User
Beiträge: 18294
Registriert: Sonntag 21. Oktober 2012, 17:20

@DMD-OL: Du mußt halt alle Entries in eine Liste packen. Zur Zeit wirst Du sie ja nach jedem Scheifendurchgang gleich weg
Antworten