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 .
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.
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