Ошибка в библиотеке tkinter

Kim Jon

Новичок
Пользователь
Авг 1, 2021
16
0
1
1.Windows 10
2. Pycharm 2020.1 на компиляторе 3.8
3.Библотеки Random и TKinter
Здравствуйте друзья!
Очередной раз обращаюсь к Вам за помощью. Так как всемогущий Google дал мне столько ссылок что я уже совершенно запутался.
Проблема вот в чем я начал изучать библиотеку Tkinter. И при создании одного прямоугольника, программа работает отлично но при создании сразу двух и более программа выдает ошибку (скриншот внизу)
tkinter_error.png
Также выкладываю листинг программы:
Python:
from tkinter import *
import random
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()

def random_rectangle(width, height, fill_color):
    x1 = random.randrange(width)
    y1 = random.randrange(height)
    x2 = random.randrange(x1 + random.randrange(width))
    y2 = random.randrange(y1 + random.randrange(height))
    canvas.create_rectangle(x1, y1, x2, y2, fill = fill_color)
    tk.mainloop()

#random_rectangle(400, 400)
#tk.mainloop()

# for x in range(0, 100):
#     random_rectangle(400, 400)

random_rectangle(400, 400, 'green')
random_rectangle(400, 400, 'red')

Подскажите пожалуйста что я не правильно сделал или может нужно проверить саму библиотеку Tkinter.
Заранее благодарю
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Подскажите пожалуйста что я не правильно сделал

Можно убрать tk.mainloop() из функции чтобы был только один главный цикл.
Python:
from tkinter import *
import random
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()


def random_rectangle(width, height, fill_color):
    x1 = random.randrange(width)
    y1 = random.randrange(height)
    x2 = random.randrange(x1 + random.randrange(width))
    y2 = random.randrange(y1 + random.randrange(height))
    canvas.create_rectangle(x1, y1, x2, y2, fill=fill_color)


random_rectangle(400, 400, 'green')
random_rectangle(400, 400, 'red')

tk.mainloop()
 

Kim Jon

Новичок
Пользователь
Авг 1, 2021
16
0
1
Но окно так и не появляется
 

Kim Jon

Новичок
Пользователь
Авг 1, 2021
16
0
1
Все спасибо
получилось
 

Форум IT Специалистов