Mit einem Scrollbar mehrere Listboxes scrollen

Fragen zu Tkinter.
Antworten
Eaglescout
User
Beiträge: 2
Registriert: Mittwoch 13. Dezember 2006, 11:33
Wohnort: Berlin
Kontaktdaten:

Hi Leute,
ich habe ein Problem mit dem scrollbar. Und zwar möchte ich gerne eine Ausgabe in Form einer Tabelle haben. Da ich nichts zu einer Tabelle in Python gefunden habe, habe ich einfach eine mit Listboxen/-es nachgebaut. Nun möchte ich, dass man die Tabelle scrollen kann. Dazu muss ich aber mit einem Scrollbar mehrere Listboxen gleichzeitig scrollen. Und genau da liegt mein Problem: ich weiß nicht, ob oder wie man mit einem Scrollbar mehrere commands ausführen kann. Ich habe es auch schon probiert, eine extra-methode zu schreiben, aber weiß nicht, wie ich das machen soll. Ich kriege dann immer die Fehlermeldung
Exception in Tkinter callback
Traceback (most recent call last):
File "D:\Schule\Python23\lib\lib-tk\Tkinter.py", line 1345, in __call__
return self.func(*args)
TypeError: scrollen() takes exactly 1 argument (4 given)
Hier ist mal mein Teil des Codes dazu:

Code: Alles auswählen

        scrollbar = Tkinter.Scrollbar(frame6, orient = Tkinter.VERTICAL)
        scrollbar.grid(row = 0, column = 1, sticky = E + N + S)
        self.tabelle1 = Tkinter.Listbox(frame5, yscrollcommand=scrollbar.set)
        self.tabelle1.grid(row = 0, column = 0, pady = 1)
        self.tabelle2 = Tkinter.Listbox(frame5, yscrollcommand=scrollbar.set)
        self.tabelle2.grid(row = 0, column = 1, pady = 1)
        scrollbar.config(command = self.scrollen)
    def scrollen(self):
        self.tabelle1.yview()
        self.tabelle2.yview()
Ich hoffe, ihr könnt damit was anfangen. Ich werde gleich auch mal die ganze Klasse online stellen.

So, hier der Link zu dem Teil der Klasse, der die Probleme bereitet:
http://pcfriends.de/Filmdatenbank/GBO_oImport.py
Bitte nicht wundern, dass ein paar Frames "umsonst" importiert werden, aber ich war jetzt zu faul, dass alles rauszulöschen...

Wäre echt super, wenn ihr mir helfen könntet. Ich brauch einfach nur eine Tabelle, die man scrollen kann. Wie die realisiert wird, ist mir ziemlich egal, ich habe es halt mit mehreren Listboxes probiert....
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Hi,

ich habe mal was für dich
http://aspn.activestate.com/ASPN/Cookbo ... /index_txt
vlt ist auch eine Alternative für Dich
Eaglescout
User
Beiträge: 2
Registriert: Mittwoch 13. Dezember 2006, 11:33
Wohnort: Berlin
Kontaktdaten:

Super, es funktioniert!

Tausend Dank, du bist mein Held :) !!!

Nur, um mich an die Foren-Richtlinie zu halten, hier die Lösung, wie es funktioniert:
Ich habe einfach die "scrollen"-Methode folgendermaßen angepasst:

Code: Alles auswählen

    def scrollen(self, *args):
        apply (self.tabelle1.yview, args)
        apply (self.tabelle2.yview, args)
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Der Vollständigkeit halber eine 'getunte' Version:
http://www.python-forum.de/post-32776.html#32776
Antworten