Python Forum
[Tkinter] tkinter help
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] tkinter help
#1
hi everybody,

I m coding a card game. I already coded all the game, I just miss the display.

To code it, I use tkinter but I have some trouble with my code.

it blow up in "create_player" fonction when "Destroy" is called

for me, I just wrote the same thing I wrote to close "choose_game" fonction at the first line of "def_contrée_players" fonction and in this case it runs right.

please help me before my brain blow up too :)

from tkinter import *
from class_player import *


def choose_game():
    choose_game_window = Tk()
    
    choose_game_label = Label(choose_game_window, text = "Wich game do you wanna play?").grid(row = 1)
    contrée_button = Button(choose_game_window, text = "Contrée", command = lambda: def_contrée_players(choose_game_window)).grid(row = 2)
    
    choose_game_window.mainloop()
    choose_game_window.destroy()


def def_contrée_players(window):
    window.destroy()
    
    player_number = 4
    nplayer = 1
    lstentry = []
    name_window = Tk()
    
    for num in range(player_number):
        entrynum = "entry" + str(num)
        
        num = Label(name_window, text = "player name " + str(nplayer)).grid(column = 1, row = nplayer)
        entrynum = Entry(name_window)
        entrynum.grid(column = 2, row = nplayer)
        nplayer += 1
        lstentry += [entrynum]
        
    start_button = Button(name_window, text = "start", command = lambda: create_players(lstentry, name_window))
    start_button.grid(column = 2, row = nplayer)
    
    name_window.mainloop()
    name_window.destroy()


def create_players(lstentry, window):
    lstplayer = []
    for player_name in lstentry:
        gplayer = player()
        gplayer.name = player_name.get()
        lstplayer += [gplayer]
    
    window.destroy()
    return lstplayer
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020