Поле ввода с проверкой удаляет данные - PullRequest
0 голосов
/ 06 апреля 2020

Из этого python кода я использовал проверку проверки, которая позволяет вставлять только целые числа и пробелы в поле ввода. Но при переписывании кода обратно в поле в строке array_entry.insert(0, alist) код самостоятельно удаляет себя. Как бы это исправить, чтобы измененный массив снова входил в поле ввода, не удаляя себя сам? Заранее спасибо (:

from tkinter import *

window = Tk()
window.title("Array manipulation GUI")

def int_check_space(value, action):
    if action == '1':
        if value.isdigit():
            return True
        elif value == " ":
            return True
        else:
            return False
    return True

array_entry = Entry(window, validate="all")
array_entry['validatecommand'] = (array_entry.register(int_check_space),'%S','%d')
array_entry.pack()

def run():
    alist = [int(x) for x in array_entry.get().split()]
    print(alist)
    array_entry.delete(0, END)
    array_entry.insert(0, alist)

calculate_button = Button(window,text="Calculate", command=run)
calculate_button.pack()

window.mainloop()

1 Ответ

0 голосов
/ 06 апреля 2020

Просто удалите эти строки:

#array_entry.delete(0, END)
#array_entry.insert(END, alist)
...