Python - wyciąganie wartości z złożonej funkcji z ComboBox

Python - wyciąganie wartości z złożonej funkcji z ComboBox
Dominika Jaskóła
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
0

Hej,

Na wstępie chciałabym zaznaczyć, że jestem zwierzakiem jeśli chodzi o programowanie, więc byłabym wdzięczna za wyrozumiałość.

Mam problem z wyciągnięciem wartości z funkcji "def" w której jest zawarty combobox. Otóż po użyciu "return" na konsoli pojawia się komunikat: "<function rodzaj_pompy at 0x0000028E89C5F9C0>". Jak dotrzeć do wartości którą wybrał użytkownik i "wrzucić" ją z powrotem jako wartość poza "def"?

Poniżej podsyłam kod i z góry serdecznie dziękuję za pomoc :)

Kopiuj

def rodzaj_pompy():
    Var0rConst=cb.get()
    var=tk.StringVar()
    if Var0rConst==1:
        rodzaj_pompy_cbx = ttk.Combobox(root, textvariable=var, values=["5. Łopatkowa", "6. Tłokowa wychylna tarcza", "7. Tłokowa osiowa"])
        rodzaj_pompy_cbx.grid(row=3, column=1)
        pump_typex=rodzaj_pompy_cbx.get()
        return pump_typex
    elif Var0rConst==0:
        rodzaj_pompy_cbx = ttk.Combobox(root, textvariable=var, values=["1. Zębata o zębach zew.", "2. Zębata o zębach wew.", "3. Łopatkowa", "4. Tłokowa promieniowa"])
        rodzaj_pompy_cbx.grid(row=3, column=1)
        pump_typex=rodzaj_pompy_cbx.get()
        return pump_typex

pump_type=rodzaj_pompy

cb=tk.IntVar()
Pompa_varV= tk.Checkbutton(root, text="Pompa o zmiennej wydajności", variable=cb, onvalue = "1", offvalue = "0", command=rodzaj_pompy)
Pompa_varV.grid(row=3, column=2)
DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1135
0

No zwracasz pump_typex() - funkcję, więc czego się spodziewasz? Pokaż co to za funkcja

S4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1268
0

Zrób tak

Kopiuj
pump_type=rodzaj_pompy()

W twoim kodzie do zmienne dopisujesz funkcję, a nie jej wynik. Musisz ja wywołać przez nawiasy na końcu.

DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1135

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.