Можно ли использовать данные вне GUI? - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу использовать GUI для ввода чего-либо (что-нибудь вроде цифр или слов), затем я хочу проанализировать то, что я ввел. Но, похоже, я не смогу сделать это, пока не выйду из этого графического интерфейса.

def Ok():
    global str_
    str_=sth.get()
    print str_

def input_():
    App=tk.Tk()
    global sth
    sth=tk.Entry(App, width=10)
    sth.pack(side=tk.TOP)
    btn=tk.Button(App,text="OK", width=10, command=Ok)
    btn.pack(side=tk.TOP)
    App.mainloop()

def test():
    input_()

print 'You input %d words'%len(str_)

if __name__=='__main__':
    from tkinter import *
    import tkinter as tk
    test()

В этом примере я надеюсь, что смогу получить длину строки. Я попытался, и я действительно могу получить это, если я сначала закрою GUI. Возможно ли получить его без закрытия GUI?

1 Ответ

1 голос
/ 09 апреля 2019

Что вы имеете в виду, точно, Is it possible to use data outside of GUI? ? Ваша глобальная переменная str_ может быть доступна внутри всех функций вашего приложения, как вы ее написали. Оператор печати, который у вас есть, не будет запущен прямо сейчас, пока tkinter mainloop() не будет закрыт. Если вы создадите событие для запуска этой печати, оно будет работать. Вы можете привязать его к кнопке или привязать к пользователю, нажав клавишу ввода. Прямо сейчас ваш скрипт просто не доходит до этой строки до тех пор, пока mainoop() не завершится.

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