gpt4 book ai didi

python - Tkinter/pylab 冲突?

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:56 25 4
gpt4 key购买 nike

我对 Python 很陌生,但本周开始编写一些小脚本。我目前正在尝试编写一个简单的程序来绘制一些数据。我想执行以下操作:

  • 要求用户使用 GUI 选择数据目录
  • 为目录中的每个文件绘制一个图
  • 单击鼠标关闭每个图并前进到下一个图

我已经让程序正常工作了 - 我可以使用 tkFileDialog.askdirectory 选择目录,然后读取数据,绘制图表并通过单击鼠标前进。

我的问题是用 tkFileDialog 打开的 TK 根窗口。如果我使用withdraw(),则不会打开额外的窗口,但只会显示第一个图(单击鼠标会关闭该图,但不会显示下一个图)。如果我不使用 withdraw(),则必须在第一个绘图之后手动关闭额外窗 Eloquent 能前进到第二个绘图。

我想知道是否有一种方法可以选择避免显示额外窗口的目录?

我附上了一些示例代码来展示我的思考过程。这不会调用实际数据,但仍然会重现问题(您需要将 .D 更改为目录中的某种文件类型):

import numpy as np
from pylab import *
import glob
import os
import Tkinter, tkFileDialog

##################################################
#define the mouse click event
##################################################
def moveon(event):
close()

##################################################
#ask for the directory
##################################################
root = Tkinter.Tk()
#root.withdraw()
direc = tkFileDialog.askdirectory(parent=root,initialdir="/",title='Please select a directory')
os.chdir(direc)
for files in glob.glob("*.D*"):

##################################################
#Read in the data
##################################################
#assume this reads x and y from each file
x = [1, 2]
y = [3, 4]

##################################################
#loop though the plots
##################################################
fig = figure(1)
plot(x,y)
cid = fig.canvas.mpl_connect('button_press_event',moveon)
show()

最佳答案

由于您在文件对话框后似乎没有使用 Tkinter,因此您可以执行 root.destroy()让用户选择文件后立即关闭 Tk 根窗口。

关于python - Tkinter/pylab 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com