• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd okna graficznego biblioteki tkinter w Pythonie

Object Storage Arubacloud
0 głosów
462 wizyt
pytanie zadane 23 marca 2020 w Python przez AdiReRe Nowicjusz (190 p.)
edycja 23 marca 2020 przez AdiReRe

Cześć, mam problem, ponieważ gdy napisałem program(gra losowa) i chce go uruchomić z użyciem biblioteki tkinter to wyskakuje puste okno jedynie z tytułem. Proszę o pomoc w rozwiązaniu problemu. Z góry dzięki. Poniżej podaje kod.

from tkinter import *
import random
t = Tk()
t.title("Wybierz przycisk")
t.geometry("300x350")
def wstaw_przyciski():
    ile_przyciskow = 8
    global przyciski
    przyciski = []
    dobry = random.radnit(0,ile_przyciskow-1)
    for i in range (ile_przyciskow):
        if i == dobry:
            przyciski.append(Button(t,text = "kliknij mnie",command=trafiony))
        else:
            przyciski.append(Button(t,text = "kliknij mnie",command=pudło))
    for i in przyciski:
        i.pack(fill=BOTH,expand=YES)

def trafiony():
    for i in przyciski:
        i.destroy()
    global etykieta
    etykieta = Label(t,text = "Trafiłeś dobry przycisk")
    etykieta.pack(fill=BOTH,expand=YES)
    t.after(5000,restart)

def restart():
    etykieta.destroy()
    wstaw_przyciski()

def pudlo():
    for i in przyciski:
        i.destroy()
    global etykieta
    etykieta = Label(t,text = "Trafiłeś zły przycisk")
    etykieta.pack(fill=BOTH,expand=YES)
    t.after(5000,restart)

 

komentarz 23 marca 2020 przez adrian17 Ekspert (344,860 p.)
To jest cały kod? Bo widzę kilka zdefiniowanych funkcji, ale nigdzie nie są wywoływane.
komentarz 23 marca 2020 przez AdiReRe Nowicjusz (190 p.)
Robiłem według poradnika Komputer Świat i to jest cały kod.
komentarz 23 marca 2020 przez adrian17 Ekspert (344,860 p.)
No to raczej nie cały kod ;)

Bo przynajmniej część funkcji nie jest zupełnie nigdzie używana. A kod nieużywany to tak, jakby go nie było.
komentarz 23 marca 2020 przez AdiReRe Nowicjusz (190 p.)
A których dokładnie funkcji jakbyś mógł napisać?
komentarz 23 marca 2020 przez AdiReRe Nowicjusz (190 p.)
Jeszcze zauważyłem, że złą liczbę przycisków podałem, bo miało być 8, ale to chyba nie ma znaczenia.

1 odpowiedź

0 głosów
odpowiedź 23 marca 2020 przez mokrowski Mędrzec (155,460 p.)
wybrane 23 marca 2020 przez AdiReRe
 
Najlepsza
from tkinter import *
import random
t = Tk()
t.title("Wybierz przycisk")
t.geometry("300x350")
def wstaw_przyciski():
    ile_przyciskow = 2
    global przyciski
    przyciski = []
    dobry = random.randint(0,ile_przyciskow-1)
    for i in range (ile_przyciskow):
        if i == dobry:
            przyciski.append(Button(t,text = "kliknij mnie",command=trafiony))
        else:
            przyciski.append(Button(t,text = "kliknij mnie",command=pudlo))
    for i in przyciski:
        i.pack(fill=BOTH,expand=YES)
 
def trafiony():
    for i in przyciski:
        i.destroy()
    global etykieta
    etykieta = Label(t,text = "Trafiłeś dobry przycisk")
    etykieta.pack(fill=BOTH,expand=YES)
    t.after(5000,restart)
 
def restart():
    etykieta.destroy()
    wstaw_przyciski()
 
def pudlo():
    for i in przyciski:
        i.destroy()
    global etykieta
    etykieta = Label(t,text = "Trafiłeś zły przycisk")
    etykieta.pack(fill=BOTH,expand=YES)
    t.after(5000,restart)

wstaw_przyciski()
t.mainloop()

Trochę literówek i brak wywołania pętli zdarzeń.

komentarz 23 marca 2020 przez AdiReRe Nowicjusz (190 p.)
Dziękuję serdecznie! Pozdrawiam

Podobne pytania

+1 głos
3 odpowiedzi 1,239 wizyt
0 głosów
1 odpowiedź 523 wizyt
pytanie zadane 1 stycznia 2021 w Python przez Hacker4300.exe Użytkownik (650 p.)
0 głosów
0 odpowiedzi 891 wizyt
pytanie zadane 29 sierpnia 2019 w Python przez Wiktor Michalski Początkujący (430 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...