Radiobuttons in mein programm

Fragen zu Tkinter.
Antworten
popelnase
User
Beiträge: 1
Registriert: Freitag 19. April 2013, 08:30

Hallo liebe Community

ich komme mal gleich zum 'sachlichen'

ich habe mit tkinter bereits ene csv datei ausgelesen und verschiedene spalten in eine Tabelle geschrieben

Code: Alles auswählen

from Tkinter import *

master = Tk()
v = StringVar()

class MultiListbox(Frame):
    def __init__(self, master, lists):
        Frame.__init__(self, master)
        self.lists = []
        for l,w in lists:
            frame = Frame(self); frame.pack(side=LEFT, expand=YES, fill=BOTH)
            Label(frame, text=l, borderwidth=1, relief=RAISED).pack(fill=X)
            lb = Listbox(frame, width=w, borderwidth=0, selectborderwidth=0,
                         relief=FLAT, exportselection=FALSE)
            lb.pack(expand=YES, fill=BOTH)
            self.lists.append(lb)
            lb.bind('<B1-Motion>', lambda e, s=self: s._select(e.y))
            lb.bind('<Button-1>', lambda e, s=self: s._select(e.y))
            lb.bind('<Leave>', lambda e: 'break')
            lb.bind('<B2-Motion>', lambda e, s=self: s._b2motion(e.x, e.y))
            lb.bind('<Button-2>', lambda e, s=self: s._button2(e.x, e.y))
            frame = Frame(self); frame.pack(side=LEFT, fill=Y)
            Label(frame, borderwidth=1, relief=RAISED).pack(fill=X)
            sb = Scrollbar(frame, orient=VERTICAL, command=self._scroll)
            sb.pack(expand=YES, fill=Y)
            self.lists[0]['yscrollcommand']=sb.set

    def _select(self, y):
        row = self.lists[0].nearest(y)
        self.selection_clear(0, END)
        self.selection_set(row)
        return 'break'
    
    def _button2(self, x, y):
        for l in self.lists: l.scan_mark(x, y)
        return 'break'
    
    def _b2motion(self, x, y):
        for l in self.lists: l.scan_dragto(x, y)
        return 'break'
    
    def _scroll(self, *args):
        for l in self.lists:
            apply(l.yview, args)

    def curselection(self):
        return self.lists[0].curselection()

    def delete(self, first, last=None):
        for l in self.lists:
            l.delete(first, last)

    def get(self, first, last=None):
        result = []
        for l in self.lists:
            result.append(l.get(first,last))
            if last: return apply(map, [None] + result)
            return result
        
    def index(self, index):
        self.lists[0].index(index)

    def insert(self, index, *elements):
        for e in elements:
            i = 0
            for l in self.lists:
                l.insert(index, e[i])
                i = i + 1

    def size(self):
        return self.lists[0].size()

    def see(self, index):
        for l in self.lists:
            l.see(index)

    def selection_anchor(self, index):
        for l in self.lists:
            l.selection_anchor(index)
            
    def selection_clear(self, first, last=None):
        for l in self.lists:
            l.selection_clear(first, last)

    def selection_includes(self, index):
        return self.lists[0].selection_includes(index)
    
    def selection_set(self, first, last=None):
        for l in self.lists:
            l.selection_set(first, last)


            
if __name__ == '__main__':
    meineDatei=raw_input('Datei:')
    import csv
    reader=csv.reader(open(meineDatei, 'rb'), delimiter=';')

    master.geometry('1366x768')
    Label(master, text='Überschrift').pack()
        
    mlb = MultiListbox(master, (('1', 30), ('2', 5), ('3', 30), ('4', 5), ('5', 1), ('6', 5), ('7', 10), ('8', 5)))
    ##for i in range (130):
    tmp=[]
    for row in reader:
        #print row
        mlb.insert(END,(str(row[6]),
                str(row[1]),
                str(row[7]),
                str(row[2]),
                str(row[14]),
                str(row[16]),
                str(row[22]),
                #hier soll ein Radiobutton hin
                ))
        tmp.append(row)

    mlb.pack(expand=YES,fill=BOTH)

    f = open('test.csv','w')
    f.write('1;2;3;4;5;6;7;8')
    print tmp
    for row in tmp:
        
        f.write('\n' + row[6] + ';' + row[1] + ';' + row[7] + ';' + row[2] + ';' + row[14] + ';' + row[16] + ';' + row[22] )
    f.close()

    master.mainloop()
könnt ihr mir sagen wie ich dort einen radiobutton hinbekomme??

Grüße Popelnase
Antworten