Tkinter/ Python - błąd w definiowaniu funckji

0

cześć,
mam problem w Tkinterze. Generalnie zrobiłem Comboboxa i na podstawie wyboru z okienka chciałbym, żeby program sam przyjmował wartość obciążenia śniegiem. Zrobiłem instrukcje warunkowe dla parametru sk, później próbowałem go wczytać , ale cały czas wyskakują jakieś błędy i nie mam pomysłu jak to ogarnąć, żeby śmigało. Błędy dotyczą wartości sk .
screenshot-20210330220140.png

0

Wklej kod na forum, nie screen i spróbuj jakoś podać problem do zreprodukowania, bez instalacji dodatkowych bibliotek. A tak co do kodu, funkcja snowy sprawdza, if snow, a nigdzie tego parametru nie dostaje.

0

kodu mam łącznie na 300 linijek, problem jest dość błahy tylko moje doświadczenie niezbyt wielkie. Próbowałem uzyskać wartość z Combobox za pomocą funkcji get(). Próbowałem na różne sposoby.
Chodzi mi o to żeby została zwrócona wartość sk dla wybranej strefy, gdy np. użytkownik wybierze strefę II program przyjmie 0.9. Potrzebuje wartości sk do dalszych obliczeń . Żeby funkcja zwróciła wartość napisałem return. Ale wyskakuje mi błąd, że sk jest nie zdefiniowane. Dlatego zdecydowałem się wpisać, ze jest to wartość globalna co i tak nic nie dało.

snow_label = Label(myframe1, text="Wybierz strefe obciążenia śniegiem:", bg="gold")
snow_label.grid(row=4, column=0)

snow = ttk.Combobox(myframe1, values=("I strefa", "II strefa", "III strefa", "IV strefa", "V strefa"))
snow.grid(row=4, column=1)
def snowy():

global sk
if snow.get() == "I strefa":
    messagebox.showinfo("Info","I strefa-0,7 kN/m2")
    sk = 0.7

elif snow.get() == "II strefa":
    messagebox.showinfo("Info","II strefa-0,9 kN/m2")
    sk = 0.9

elif snow.get() == "III strefa":
    messagebox.showinfo("Info","III strefa-1,2 kN/m2")
    sk = 1.2

elif snow.get() == "IV strefa":
    messagebox.showinfo("Info","IV strefa-1,6 kN/m2")
    sk = 1.6

elif snow.get() == "V strefa":
    messagebox.showinfo("Info","V strefa-2,0 kN/m2")
    sk = 2.0

return sk

button_snow2 = Button(myframe1, text="Check", command=snowy)
button_snow2.grid(row=14, column=2)

S = 0.6 * sk # tutaj już sk nie jest zdefiniowane

1 użytkowników online, w tym zalogowanych: 0, gości: 1