当前位置: 首页 > 面试题库 >

tkinter和matplotlib:直到在Linux下关闭程序,窗口才会显示

屠华辉
2023-03-14
问题内容

我编写了一个程序,该程序基本上可以在按不同的按钮时绘制不同的数据。该程序可以在Windows下按预期工作,但是当我尝试将其移植到Linux(Red Hat
v6)时,我遇到一个奇怪的问题:要绘制的窗口直到关闭主程序后才出现。无论我尝试绘制到哪个数字(图1,2等),或者尝试键入plt.show()等,都会发生这种情况。

我编写的程序几乎有1000行代码,但是我创建了一个具有相同问题的缩写程序。它可以在Windows下运行,但是在Linux下,我必须关闭根窗口以使matplotlib窗口出现。

工作代码:

 import matplotlib.pyplot as plt 
 from tkinter import *

 def click():
    x=['0','1','2']
    plt.plot(x,x)

 plotGUI=Tk()
 butt1=Button(plotGUI,text="Test", command=click).grid()
 plotGUI.mainloop()

问题答案:

通过添加以下内容,我可以使其工作:

matplotlib.use('TkAgg')

这使html" target="_blank">程序像在Windows中一样工作,而无需进行任何其他修改。我确实需要学习user3666197为将来的项目发布的概念。



 类似资料:
  • 问题内容: 我一直在尝试用Java制作GUI,而不是一直使用“静态”,并且遇到了“ SwingUtilities.invokeLater()”方法。我设法进行了所有设置,但是在运行应用程序时,JPanel上没有任何显示,直到我调整窗口大小为止。有没有解决的办法,或者我做错了吗? 这是我的代码: } 编辑:我知道密码JTextField是一个JPasswordField ..所以忽略它:P 问题答案

  • 我一直想用python制作一个排序算法可视化工具,并决定使用Tkinter库作为我可视化数据的方式(如果有人有更好的库可以使用,我愿意接受建议,我查看了matplotlib,但不愿意使用)。我的问题是,在对数组排序时,我想进行交换,在交换后显示更新的数组,然后继续排序;但最终发生的是数组排序,然后更新整个排序的数组。 我也试过这个应用程序。在(300,self.redrawCanvas)之后,并得

  • 问题内容: 在Swing中,您可以简单地用于在关闭窗口时关闭整个应用程序。 但是,在JavaFX中找不到等效项。我有多个打开的窗口,如果一个窗口关闭,我想关闭整个应用程序。用JavaFX做到这一点的方法是什么? 编辑: 我了解可以覆盖以在窗口关闭时执行一些操作。问题是应该执行什么操作才能终止整个应用程序? 类中定义的方法不执行任何操作。 问题答案: 当最后一个关闭时,应用程序自动停止。目前,您的类

  • 我正在使用tkinter和pygame创建一个游戏,当程序从菜单启动pygame时,我不知道如何关闭tkinter窗口。谢谢你的帮助。 主菜单 选项菜单 波塞门努酒店 (这些类都在同一个文件中,为了更好的可读性,我对代码进行了拆分) 这里的代码是我程序的后端,这个模块包含了我所有的pyplay代码: 这里的代码是我的类,用于为tkinter窗口导入自定义按钮:

  • 问题内容: 我正在尝试通过py2exe创建一个exe。该程序正在使用Tkinter显示类似弹出窗口的窗口。问题是,当我像这样运行安装程序时,一切正常: 但是当我尝试制作一个文件的exe时失败: 实际上,最终exe可以正常运行,但是不会显示任何窗口。我已经阅读过Windows 7上的bundle_files = 1可能存在问题,但我也尝试了bundle_files = 2来达到同样的效果。这是我的m

  • 我有一个docker容器,它可以打开一个tkinter窗口,但它一直崩溃,因为它无法连接到主机的显示器。本文给出的答案建议将X-11套接字绑定到容器< code >-v/tmp/. X11-unix:/tmp/. X11-UNIX:ro ,并将其显示环境变量设置为主机< code>-e DISPLAY=$DISPLAY的显示环境变量,但由于这两个变量都是UNIX特定的路径/变量,因此它们在其他操作