带有matplotlib画布的Tkinter应用程序拒绝停止

2024-05-19 23:25:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了这个应用程序,但在关闭Tkinter窗口后拒绝让程序运行:

import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib
matplotlib.use('TkAgg')

import sys
import random

import tkinter as Tk

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)


root = Tk.Tk()
root.wm_title("Stade knn algorithm")

canvas = FigureCanvasTkAgg(fig, master=root)

nb_NS = 50
k = 3
supp,lineA,lineB = initialize()

# a tk.DrawingArea
canvas.draw()
canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

root.mainloop()

此处的完整代码:https://www.codepile.net/pile/6xzlZoJW


Tags: importmatplotlibtopasfigpltrootfill
1条回答
网友
1楼 · 发布于 2024-05-19 23:25:57

问题是,关闭窗口(显然)并不能使您脱离主循环

从我所看到的,要么把所有的东西都放在一个类中,要么添加 root.protocol("WM_DELETE_WINDOW", sys.exit)在{}之前

相关问题 更多 >