Мой код:
import numpy as np
import matplotlib.pyplot as plt
import csv
from tkinter import messagebox
messagebox.showinfo("welcome","welcome to piechart creator!!!")
try:
x=input("enter the file to be fetched:")
outfile = open(x,"r")
except:
messagebox.showinfo("alert","enter the file in csv extension!!!")
else:
file=csv.reader(outfile)
#skip the headers
next(file, None)
row1=input("enter the title of first label:" )
row2=input("enter the title of label2:")
row1= []
row2= []
for row in file:
row1.append(row[0])
row2.append(row[1])
plt.pie(row2, labels=row1)
plt.axis('equal')
messagebox.askyesno("question","do you want the piechart to be created???")
plt.show()
finally:
messagebox.showinfo("message","thank you for using piechart creator.")
Я получаю дополнительный ящик tkinter - почему это так?





Если вы явно не создаете экземпляр Tk(), tkinter сделает это за вас. Вы можете исправить это, явно создав корневое окно в начале вашего скрипта, а затем скрыв его:
import tkinter as tk
root = tk.Tk() # Create window
root.withdraw() # Hide window
Пожалуйста, отформатируйте свой код лучше, в настоящее время мы не можем его прочитать.