Предупреждение «Не локализовать» после выбора файла в диалоговом окне файла Tkinter - PullRequest
0 голосов
/ 22 октября 2018

То, чего я пытаюсь добиться, - это автоматическое построение данных из файлов, вот моя мысль:

  1. Создайте простой графический интерфейс с помощью Tkinter, поместите несколько кнопок для активации функций.
  2. Определите read_file () для выбора файлов с помощью диалогового окна tkinter file и сохранения данных.
  3. plot с matplotlib.

А вот простая версия моего кода:

import matplotlib.pyplot as plt
import tkinter as tk

def read_files():
    import tkinter.filedialog as tkf
    filePath = tkf.askopenfilenames()
    with open(filePath, 'r') as file:
        content = file.read()
    # after some lines of code, get data from content
    # data[0] and data[1] are x and y, respectively
    return data

def plot_data():
    data = read_files()
    plt.figure()
    plt.plot(data[0], data[1])
    plt.show()

#simple GUI
root.tk()
btn = tk.Button(root, ...(some args), command=plot_data)
btn.pack()
root.mainloop()

Мой код работает нормально, он может читать данные файла и графики, но вот проблема: каждый раз, когда я нажимал «Открыть» после выбора файла, диалоговое окно файла не закрывалось, и в странном окне говорилось «Делатьне локализовать »с моим графиком данных, как показано на рисунках.

enter image description here

Следует отметить, что если я закомментирую plt.show () и только распечатаю данные, этопредупреждение исчезает.

def plot_data():
    data = read_files()
    plt.figure()
    plt.plot(data[0], data[1])
    #plt.show()
    print(data)

Надеюсь, я проясню, как я могу избавиться от этого раздражающего окна?

1 Ответ

0 голосов
/ 08 ноября 2018

Проблема решена, просто добавив строку кода ниже import matplotlib И выше import matplotlib.xxx:

import matplotlib
matplotlib.use("TkAgg")    # Add in here
import matplotlib.pyplot as plt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...