Aktywne Wpisy
typeczek +5
Od ponad tygodnia piszę z laską, która jest moim topem zarówno z wyglądu jak i charakteru. Czasami do siebie dzwonimy, rozumiemy się bez słów, oboje jesteśmy 30+ po przejściach, gadamy jakbyśmy się znali wiele lat. Z rozmowy wynika, że szukamy tego samego i mamy podobne oczekiwania wobec partnera, śmieszą nas te same rzeczy i mamy podobną wizję życia. Problem polega na tym, że ja mieszkam w mieścinie na Pomorzu a ona w
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Napisałem coś takiego i pytanie, czemu najpierw wykonuje mi się wszystko (wyświetlają się wiadomości), a później dopiero pojawia się "GUI" i przyciski są nieresponsywne i nic nie robią. Kumpel przekopiował def losowanie, każde osobno z wartością na sztywno i ponoć działało normalnie, ale to mnie nie satysfakcjonuje :<
#programowanie #naukaprogramowania #python #python3
main.mainloop()
tu dopiero startuje wątek odpowiedzialny za GUI, tak więc wszystko przed tym się wykona zanim wstanie guj
@SteamGuard: tu musisz mieć callback tzn funkcję a nie jej wywołanie, ziomeczku
możesz użyć lambdy
command=lambda: losowanie(12)
zaraz sprawdzę czy nie napisałem jakiejś głupoty i przepiszę ci to po ludzku xD
command = lambda: losowanie(20)
i tak dalej. W tej chwili jako command przypisujesz wynik funkcji, czyli wykonuje się ona jeszcze przed przypisaniem.
@luzny_lori: main.mainloop() jednak zostaje na końcu, przynajmniej u mnie :P
Porównaj ze swoim kodem i zwróć uwagę przede wszystkim na tworzenie guzików w pętli i organizację kodu
edit: z jakiegoś powodu wszystkie callbacki robią randint(1,100), teraz ja jestem głupi
Może dlatego że po wydrukowaniu wszystkiego to (n) wynosi 100? - Maksymalna wartość. Tylko czemu wtedy podczas losowania nie odnosi się do wartości jaką miał podczas tworzenia? Nie wiem jak to dokładnie wygląda, ale dzięki za kod i widzę że jeszcze spora droga przede mną :P
rozgryzłem to. (⌐ ͡■ ͜ʖ ͡■)
lambda przechowuje referencję do n, n się zmienia, lambda też się zmienia. Ale da się to obejść bez wyrzucania tworzenia guzików do osobnej funkcji.
for n in bla bla bla:
command=lambda x=n: roll_die(x)