Scrollbares Fenster mit Labels

Fragen zu Tkinter.
Antworten
seppinobis
User
Beiträge: 2
Registriert: Freitag 12. Februar 2016, 22:54

Hallo zusammen. Ich habe mich gerade im Forum angemeldet. Ich bin neu mit Python und habe Probleme mit Tkinter.
Ich habe einfach mal ein Programm drauf los geschrieben und bräuchte nun an den Rändern meines Programmfensters Scrollbars, da durch mein Programm so viele Labels erzeugt werden, dass sie nicht mehr auf den Bildschirm passen. Ich hoffe Ihr könnt mir helfen:
Hier ein Ausschnitt aus meinem Programm:

Code: Alles auswählen

from tkinter import *
window = Tk()
class Kopfzeile:
    def __init__(self):
        self.name = Label(master=window, text="Erste Spalte", width=20, relief=RIDGE)
        self.name.grid(row=0, column=0)

        self.roe_label = Label(master=window, text="Zweite Spalte", width=20, relief=RIDGE)
        self.roe_label.grid(row=0, column=1)

        self.ebit_label = Label(master=window, text="Drite Spalte", width=20, relief=RIDGE)
        self.ebit_label.grid(row=0, column=2)

class Zeile:
    def __init__(self,name):
        row = 1

        self.name_label = Label(master=window, text=name, width=20, relief=RIDGE)
        self.name_label.grid(row=row, column=0)

        self.roe_label = Label(master=window, text="", width=20, relief=RIDGE)
        self.roe_label.grid(row=row, column=1)

        self.ebit_label = Label(master=window, text="", width=20, relief=RIDGE)
        self.ebit_label.grid(row=row, column=2)

x = Kopfzeile()
a = Zeile("name1")
b = Zeile("name2")
window.mainloop()
Ich habe natürlich nur einen kleinen Teil der GUI des Programmes genommen damit der Code hier übersichtlich bleibt. Im ganzen Code werden viel mehr Labels erzeugt.

Meine Frage ist also, ob ich an das window (window=Tk()) irgendwie Scrollbars bekomme, sodass ich auch bei einem kleinen Fenster auf ein Großes Grid an Labels zugreifen kann. Ich hoffe ihr versteht was ich meine. Oder wie kann ich sowas implementieren?

Danke für eure Hilfe
bfm
User
Beiträge: 88
Registriert: Donnerstag 14. März 2013, 09:42

Hallo,

im Internet bin ich schon öfters auf einen Workaround mit einem Canvas gestoßen. Im Prinzip alles in ein Frame packen und dieses dann auf ein Canvas platzieren. Am Canvas lassen sich dann Scrollbars andocken.

mfg

PS: ich hatte sogar noch einen Link gespeichert. Vielleicht hilft der dir weiter
http://stackoverflow.com/questions/1618 ... -for-frame
Antworten