Я пытаюсь создать простое приложение для рисования в реальном времени на Python, используя библиотеку TkInter, и мне нужно, чтобы оно отображало inline как вывод для ноутбуков Jupyter, а не в новом окне.
Пока что мое тестовое приложение делает именно то, что мне нужно, но tkinter открывает новое окно, когда я запускаю его в Jupyter IPython:
from tkinter import *
import time
root = Tk()
root.title = "Laser Drawing"
root.resizable(0,0)
root.wm_attributes("-topmost", 1)
centerX = 100
centerY = 100
radius = 2
resolution = [1280, 720]
canvas = Canvas(root, width=resolution[0], height=resolution[1], bd=0, highlightthickness=0)
canvas.pack()
def drawCircle():
circle = canvas.create_oval(centerX-radius, centerY+radius, centerX+radius, centerY-radius, fill="red", outline="red")
for i in range (0, 1000):
drawCircle()
root.update()
time.sleep(0.01)
centerX+=1
centerY+=1
Есть ли способ сделать вывод, сгенерированный tkinter display inline , без необходимости открывать новое окно?
В качестве альтернативы, какие библиотеки я мог бы использовать для создания аналогичной интерактивной программы для рисования, которая отображала бы встроенный файл? Я попытался использовать магию javascript / HTML от Jupyter, которая отображает встроенный холст, но я хочу добиться этого в Python.