Я пытаюсь создать окно с 4 активными кнопками и 4 полями для заполнения. Я использую Visual Basic 2017 и пакет Python 3.6.По какой-то причине, когда я запускаю программу, я получаю следующее сообщение об ошибке: «Поток 0x1 завершился с кодом 0 (0x0). Программа python.exe вышла с кодом 0 (0x0)».Я проверил, есть ли какие-либо несоответствия в коде, лишние табуляции или пробелы, но ничего не нашел.Кто-нибудь знает, как справиться с этим сообщением?Код, который я выполняю, следующий:
from tkinter import *
import sys
#define the labels of the fileds
fields = 'Reference', 'CL', 'INV', 'Date1', 'Date2'
#define how the fields work
def fetch(entries):
for entry in entries:
field = entry[0]
text = entry[1].get()
print('%s: "%s"' % (field, text))
def makeform(root, fields):
entries = []
for field in fields:
row = Frame(root)
lab = Label(row, width=15, text=field, anchor='w')
ent = Entry(row)
row.pack(side=TOP, fill=X, padx=5, pady=5)
lab.pack(side=LEFT)
ent.pack(side=RIGHT, expand=YES, fill=X)
entries.append((field, ent))
return entries
def quit(root):
root.destroy()
sys.exit()
def save_file():
file_name = filedialog.asksaveasfilename(initialdir = __file__,title = "Select file")
#insert function to save the file as file_name
print(file_name)
def open_file():
open_file = tkFileDialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("csv files","*.csv"),("all files","*.*")))
print (open_file)
if __name__ == '__main__':
root = Tk()
ents = makeform(root, fields)
root.bind('<Return>', (lambda event, e=ents: fetch(e)))
#button 1 - not set to open
b1 = button (root, text='Open',command=lambda: open_file())
b1.pack(side=LEFT, padx=5, pady=5)
b2 = Button(root, text='Run', command=(lambda e=ents: fetch(e)))
b2.pack(side=LEFT, padx=5, pady=5)
#button 2 - dies not function accordingly
b3 = Button(root, text='Save', command=lambda: save_file())
b3.pack(side=LEFT, padx=5, pady=5)
b4 = Button(root, text='Quit', command=lambda: quit(root))
b4.pack(side=LEFT, padx=5, pady=5)
root.mainloop()
Спасибо!