Seite 1 von 1

Scrollbar Problem

Verfasst: Mittwoch 4. November 2009, 14:04
von faridz
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()

Re: Scrollbar Problem

Verfasst: Mittwoch 4. November 2009, 14:52
von numerix
WAS willst du denn scrollen? Ein Text-Widget? Listbox? Canvas?
Etwas mehr Code darf es schon sein. Und: Bitte Code-Tags verwenden!

Verfasst: Freitag 6. November 2009, 14:31
von faridz
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()

Re: Scrollbar Problem

Verfasst: Freitag 6. November 2009, 15:46
von numerix
numerix hat geschrieben:Bitte Code-Tags verwenden!
:evil:

Verfasst: Samstag 7. November 2009, 19:48
von Markus12
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:

Code: Alles auswählen

from Tkinter import*
from turtle import*
import tkFileDialog
- 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 :)