如何在matplotlib中禁用关闭按钮
我使用matplotlib创建了一个图形窗口,但我不希望用户手动关闭它。有没有办法禁用右上角的关闭按钮?请参见解决方案将取决于正在使用的后端 PyQt 对于PyQt后端,可以执行以下操作:如何在matplotlib中禁用关闭按钮,matplotlib,Matplotlib,我使用matplotlib创建了一个图形窗口,但我不希望用户手动关闭它。有没有办法禁用右上角的关闭按钮?请参见解决方案将取决于正在使用的后端 PyQt 对于PyQt后端,可以执行以下操作: import matplotlib # make sure Qt backend is used matplotlib.use("Qt4Agg") from PyQt4 import QtCore import matplotlib.pyplot as plt # create a
import matplotlib
# make sure Qt backend is used
matplotlib.use("Qt4Agg")
from PyQt4 import QtCore
import matplotlib.pyplot as plt
# create a figure and some subplots
fig, ax = plt.subplots(figsize=(4,2))
ax.plot([2,3,5,1])
fig.tight_layout()
win = plt.gcf().canvas.manager.window
win.setWindowFlags(win.windowFlags() | QtCore.Qt.CustomizeWindowHint)
win.setWindowFlags(win.windowFlags() & ~QtCore.Qt.WindowCloseButtonHint)
plt.show()
这将禁用关闭按钮(而不是隐藏它)
传统知识
我不确定Tk是否能够控制关闭按钮。但是可以画一个完全没有框架的窗口
import matplotlib
# make sure Tk backend is used
matplotlib.use("TkAgg")
import matplotlib.pyplot as plt
# create a figure and some subplots
fig, ax = plt.subplots(figsize=(4,2))
ax.plot([2,3,5,1])
fig.tight_layout()
win = plt.gcf().canvas.manager.window
win.overrideredirect(1) # draws a completely frameless window
plt.show()
您可以看这个问题:好的,但是仍然有Alt+F4关闭窗口!:)(在Windows操作系统中)