ich möchte ein Programm für die Steuerung eines Aquariums schreiben. Dort sollen auch Informationen zu den im Aquarium lebenden Fischen angezeigt werden.
Dafür habe ich schon eine Menüleiste erstellt, die diese Informationen in einem Toplevel-Fenster anzeigen soll.
Da diese Informationen sehr ausführlich sind, sprengen sie bereits den sichtbaren Teil des Monitors.
Ich werde später ein kleines LCD-Display zur Anzeige haben, dass dann eine deutlich geringere Anzeige hat.
Ich habe schon mehrere Möglichkeiten zur Einbettung von Scrollbars im Internet gefunden und ausprobiert.
Ohne Inhalt haben diese auch funktioniert. Aber viele sind Scollbars in Textboxen oder Listboxen, die ich hier nicht gebrauchen kann, da ich noch Bilder dazupacke. Die sollen sich dann auch verschieben.
Folgenden Code habe ich jetzt gefunden:
Code: Alles auswählen
class FischInfo():
def __init__(self, master):
self.master = master
self.master.config(bg = "white")
frame = Frame(self.master, width = 300, height = 300, bg = "white")
frame.grid(row = 0, column = 0)
canvas = Canvas(frame, bd = 0,bg = "white")
canvas.config(scrollregion=canvas.bbox(ALL))
horibar = Scrollbar(canvas, orient = HORIZONTAL)
horibar.config(command=canvas.xview)
horibar.pack(side=BOTTOM,fill=X)
vertibar = Scrollbar(canvas, orient = VERTICAL)
vertibar.config(command=canvas.yview)
vertibar.pack(side=RIGHT,fill=Y)
canvas.config(width = 300, height = 300)
canvas.config(xscrollcommand = horibar.set, yscrollcommand = vertibar.set)
for Bild in Fischdaten.Bilder:
photo = PhotoImage(file = Bild)
label = Label(canvas, image = photo)
label.photo = photo
label.pack()#grid(row = i, column = 0, rowspan = 7)
i = i + 16
for Array in Fischdaten.Fisch:
for Text in Fischdaten.Beschriftung:
label = Label(canvas, text = Text, bg = "white").pack()#grid(row = j, column = 1, sticky = W)
j = j + 1
canvas.pack(side = LEFT, expand=True, fill=BOTH)
...
Code: Alles auswählen
def FischeOeffnen(self):
if not self.FischeFenster:
self.FischeFenster = FischInfo(Toplevel(self.master))
MFG
MOXX