Hallo, ich versuche eine Scrollbar für mein GUI einzubauen, es will aber nicht funktionieren:
scrollbar1 = Scrollbar(root)
scrollbar1.pack(side=RIGHT, fill=Y)
scrollbar2 = Scrollbar(root, orient=HORIZONTAL)
scrollbar2.pack(side=BOTTOM, fill=X)
.........
..........
scrollbar1.config()
scrollbar2.config()
mainloop()
Scrollbar Problem
Danke
Ich will das ganze GUI-Programm Scrollen. das Programm besteht aus mehrere Checkboxes, Entries und Browse Widgets. Weiss nicht wie das in einem Listbox oder sonstiges hineinpasst.
from Tkinter import *
root = Tk()
import tkFileDialog
flip_vertically_sim_tk = IntVar()
from turtle import *
import turtle
scrollbar1 = Scrollbar(root)
scrollbar1.pack(side=RIGHT, fill=Y)
scrollbar2 = Scrollbar(root, orient=HORIZONTAL)
scrollbar2.pack(side=BOTTOM, fill=X)
experiment_only_tk = IntVar()
experiment_only_ev = IntVar()
checkb12 = Checkbutton(root,text = "experiment_only",variable = experiment_only_tk,offvalue=0,onvalue=1)
checkb12.bind('<Button-1>', click)
checkb12.pack(side=LEFT)
checkb12.place(x=150,y=40)
if experiment_only_tk.get() == 1:
experiment_only = True
experiment_only_ev == 0
else:
experiment_only = False
experiment_only_ev == 0
#if experiment_only_tk.get() == 1:
# experiment_only_ev == 0
#else:
# experiment_only_ev == 1
simulation_only_tk = IntVar()
checkb24 = Checkbutton(root,text = "simulation_only",variable = simulation_only_tk,offvalue=0,onvalue=1)
checkb24.bind('<Button-1>', click)
checkb24.pack(side=LEFT)
checkb24.place(x=750,y=40)
if simulation_only_tk == 1:
simulation_only = True
else:
simulation_only = False
........
scrollbar1.config()
mainloop()
Ich will das ganze GUI-Programm Scrollen. das Programm besteht aus mehrere Checkboxes, Entries und Browse Widgets. Weiss nicht wie das in einem Listbox oder sonstiges hineinpasst.
from Tkinter import *
root = Tk()
import tkFileDialog
flip_vertically_sim_tk = IntVar()
from turtle import *
import turtle
scrollbar1 = Scrollbar(root)
scrollbar1.pack(side=RIGHT, fill=Y)
scrollbar2 = Scrollbar(root, orient=HORIZONTAL)
scrollbar2.pack(side=BOTTOM, fill=X)
experiment_only_tk = IntVar()
experiment_only_ev = IntVar()
checkb12 = Checkbutton(root,text = "experiment_only",variable = experiment_only_tk,offvalue=0,onvalue=1)
checkb12.bind('<Button-1>', click)
checkb12.pack(side=LEFT)
checkb12.place(x=150,y=40)
if experiment_only_tk.get() == 1:
experiment_only = True
experiment_only_ev == 0
else:
experiment_only = False
experiment_only_ev == 0
#if experiment_only_tk.get() == 1:
# experiment_only_ev == 0
#else:
# experiment_only_ev == 1
simulation_only_tk = IntVar()
checkb24 = Checkbutton(root,text = "simulation_only",variable = simulation_only_tk,offvalue=0,onvalue=1)
checkb24.bind('<Button-1>', click)
checkb24.pack(side=LEFT)
checkb24.place(x=750,y=40)
if simulation_only_tk == 1:
simulation_only = True
else:
simulation_only = False
........
scrollbar1.config()
mainloop()
faridz,
Du musst unbedingt Tags verwenden. Ansonsten wird man dir nicht helfen
Zu deinem Code selbst:
- 'scrollbar1.config()' bringt dir überhaupt nichts. Es gibt die Konfiguration zurück, aber wenn du das nicht in einer Variable abspeicherst oder weiterverwendest, kannst du das weglassen. Willst du die Scrollbar konfigurieren, dann musst du auch die entsprechenden Parameter übergeben.
- Die obersten Zeilen deines Programms sollten immer erstmal den Importen gelten. NICHT: importieren, etwas anderes machen, wieder importieren.
Sondern es sollte bei dir eher so aussehen:
- Warum importierst du das Turtle-Modul einmal in den globalen Namensraum und ein anderes mal mit 'import turtle'!? Importiere ein Modul nur einmal.
- Alle Module sollten vorzugsweise ohne 'from ... import' importiert werden. Sonst kann es vorkommen, dass sich Klassen- und Funktionen überschneiden.
- Zur Problemlösung könntest du zum Beispiel einen Canvas bauen, in dem alle anderen Widgets untergebracht werden, und du dann den gesamten Canvas scrollst.
Grüße Markus
Du musst unbedingt Tags verwenden. Ansonsten wird man dir nicht helfen

Zu deinem Code selbst:
- 'scrollbar1.config()' bringt dir überhaupt nichts. Es gibt die Konfiguration zurück, aber wenn du das nicht in einer Variable abspeicherst oder weiterverwendest, kannst du das weglassen. Willst du die Scrollbar konfigurieren, dann musst du auch die entsprechenden Parameter übergeben.
- Die obersten Zeilen deines Programms sollten immer erstmal den Importen gelten. NICHT: importieren, etwas anderes machen, wieder importieren.
Sondern es sollte bei dir eher so aussehen:
Code: Alles auswählen
from Tkinter import*
from turtle import*
import tkFileDialog
- Alle Module sollten vorzugsweise ohne 'from ... import' importiert werden. Sonst kann es vorkommen, dass sich Klassen- und Funktionen überschneiden.
- Zur Problemlösung könntest du zum Beispiel einen Canvas bauen, in dem alle anderen Widgets untergebracht werden, und du dann den gesamten Canvas scrollst.
Grüße Markus
