Как приостановить выполнение скрипта, пока окно Tkinter все еще открыто - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть главное окно tkinter с кнопкой, которая запускает большую функцию1. В то же время у Function1 есть собственная всплывающая часть окна:

...

def function1:

  ...

  root2 = tk.Toplevel(root) ## root is the major tkinter object

  tree = ttk.Treeview(root2)
  btn = ttk.Button(root2)      
  def start_download():
        global curItem ## variable that going to be used in function1 in the future
        curItem = tree.item(tree.focus()) ## selected part of tree is going to be our value
        root2.destroy            

  btn.configure(command = start_download)

  tree.pack


  #### here is goint to be other calculations using curItem but the problem is that they are starting at the same time when this little tree+button widget popping. 

Как вы можете видеть после того, как функция start_download () получает некоторое значение, пользователь нажимает кнопку и уничтожает root2. Но проблема в том, что я не понимаю, как приостановить следующие команды, пока root2 не будет детрой. Потому что эти команды вызывают ошибку, потому что curItem недоступен, пока пользователь не нажмет кнопку

У этого фрагмента есть некоторые проблемы, потому что я пропускаю некоторые части кода, так что пока это не настоящий код, но на самом деле он состоит из базовых c идея. Любые предложения о том, как избежать этой ситуации. Я уже пытался сделать какую-то часть "While curItem == '': pause", но это не дало мне никаких результатов.

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