Scale-Widget

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kobra23759
User
Beiträge: 61
Registriert: Donnerstag 9. April 2020, 18:47

Hallo! Wer kann es besser?
ich habe ein Scale-Widget erstellt.
Es funktioniert nur eingeschränkt.
1. Der Wert wird nicht richtig angezeigt. Scale-Wert und Label-Wert stimmen nicht überein
2. Ich würde gern mit der Maus schieben und den Wert im Label sehen. z.Z geht das nicht über schieben
sondern nur über Klick:linke Maus-Taste
3. Der Scale-Parameter orient=HORIZONTAL wird manchmal nicht erkannt
(NameError: name 'HORIZONTAL' is not defined)

hier mein Programm:

import tkinter as tk

def show_value(event):
text1="Slider1=" , s1.get()
l1["text"]=text1

fenster1 = tk.Tk()
fenster1.title("Fenster 1 mit Slider")
fenster1.geometry("250x500")

s1 =tk.Scale(fenster1,length=300,width=10,sliderlength=16,from_=0,to=1000,tickinterval=250)
#s1=tk.Scale(fenster1,orient=HORIZONTAL,length=300,width=10,sliderlength=16,from_=0,to=1000,tickinterval=250)
s1.place(x=30, y=10)
s1.bind('<Button-1>',show_value)

text1="Slider1=" , s1.get()
l1=tk.Label(fenster1,text=text1)
l1.place(x=150,y=150)

fenster1.mainloop()
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Die Frage ist ja nicht, wer es besser kann, sondern wie man es korrekt macht.
TkInter kennt Variablen, hier wäre IntVar das richtige. Und IntVar kennt trace.
Kobra23759
User
Beiträge: 61
Registriert: Donnerstag 9. April 2020, 18:47

Hat jemand vielleicht noch eine andere Idee. Vielleicht jemand außer Sirius3
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Was gefällt Dir an meiner Lösung nicht? Andere werden auch nichts anderes sagen.
Antworten