python - 在 Jupyter 笔记本中内联显示 TkInter 输出
问题描述
我正在尝试使用 TkInter 库在 Python 中创建一个简单的实时绘图应用程序,我需要它将内联显示为 Jupyter 笔记本输出,而不是在新窗口中显示。到目前为止,我的测试应用程序完全符合我的需要,但是当我在 Jupyter IPython 中运行它时,tkinter 会打开一个新窗口:
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 生成的输出显示 inline,而无需打开新窗口?或者,我可以考虑使用哪些库来创建类似的内联显示交互式绘图程序?我试过使用 Jupyter 的 javascript/HTML 魔法,它确实显示了一个画布内联,但我希望能够在 Python 中实现这一点。
解决方案
推荐阅读
- python-3.x - Django 快递物流服务发货跟踪器
- ncurses - Ncurses 有效地更新面板
- android - ActivityMainBinding.inflate 和 DataBindingUtil.setContentView 有什么区别?
- mongodb - MongoDB 聚合管道帮助(将 MySQL 转换为 Mongo)
- c - 在 mac + 清理过程中结束终端应用程序
- python - pandas 如何创建一对多关系(添加数量列)
- android - 使用本机反应在图像中绘制正方形
- r - 更改 plot_usmap 中状态的颜色
- flutter - 冻结的 copyWith 方法不适用于 List
联合/密封模型?(使用 Flutter 和 Freezed 包) - c - 如何用介子构建 sdl2?