Как связать виджеты Entry и Button в Tkinter с классами? - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь создать простой код, который может автоматически выполнять последовательность небольших задач одним нажатием кнопки.Есть некоторая информация, которая в настоящее время должна быть разбита на несколько листов Word и Excel и веб-страниц на работе;это отнимает много времени и скучно.Моя идея состояла в том, чтобы создать окно tkinter, которое позволяет пользователю вводить необходимую информацию, которая впоследствии сохраняется в файле .csv.Я заставил это работать без использования классов, но изучая Tkinter, я понял, что это хорошая практика - использовать классы.Проблема в том, что я не могу заставить его работать, когда помещаю виджет входа в класс.Этот код работает, но не применяется класс (ы):

def newprojectinput():
    task_number_s = task_number_e.get()
    #code is written to .csv in this method

my_window = Tk()

generate_b = Button(my_window, text="Make new project", command=newprojectinput)
generate_b.grid(row=12,column=1)

task_number_e = Entry(my_window)
task_number_e.grid(row=0,column=1)
my_window.mainloop()

Это не работает:

def newprojectinput():
    task_number_s = task_number_e.get()
    #code is written to .csv in this method

class Toplevel_new_project:
    def __init__(self, top=None):
        self.Frame1 = tk.Frame(top)
        self.task_number_e = tk.Entry(self.Frame1)
        self.generate_b = tk.Button(self.Frame1, command=newprojectinput)

Буду признателен, если кто-то может найти время, чтобы предоставитьоптимальный код и, возможно, кратко объясните, почему предыдущий код не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...