Tkinter GUI зависает при запуске метода (Как добавить многопоточность?) - PullRequest
0 голосов
/ 29 октября 2018

Извините, что беспокою вас, но я хотел бы попросить о помощи. Мое приложение tkinter зависает, когда я вызываю метод Neural_network, потому что оно прерывает основной цикл. Я пытался добавить потоки, но это не сработало так, как задумано. Если бы кто-то мог помочь мне, я был бы очень признателен. Спасибо!

class Toplevel1:
def __init__(self, top=None):
    def neural_network(p1,p2,p3,p4,p5):
        #NEURAL NETWORK STUFF GOING ON HERE
        print(round(prediction.item(0)))
        if round(prediction.item(0)) == 1: self.Label1_6.configure(text='''Malignant''', foreground="red")
        else: self.Label1_6.configure(text='''Benign''', foreground="green")

    def call_neural(p1, p2, p3, p4, p5):
        self.Label1_6.configure(text='''Please wait...''', foreground="black")
        root.after(10000, neural_network(p1, p2, p3, p4, p5))

    def analytics():
        try:
            float(self.Entry1_3.get())
            float(self.Entry1_4.get())
            float(self.Entry1_5.get())
            float(self.Entry1_6.get())
            float(self.Entry1_7.get())
            p1 = (float(self.Entry1_3.get()) - 6.981) / (21.129)
            p2 = (float(self.Entry1_4.get()) - 43.79) / (144.71)
            p3 = (float(self.Entry1_5.get()) - 143.5) / (2357.5)
            p4 = (float(self.Entry1_6.get()) - 0.01938) / (0.32602)
            p5 = (float(self.Entry1_7.get()) - 0) / (0.4268)
            if 0 <= p1 <= 1 and 0 <= p2 <= 1 and 0 <= p3 <= 1 and 0 <= p4 <= 1 and 0 <= p5 <= 1: call_neural(p1, p2, p3, p4, p5)
            else:  self.Label1_6.configure(text='''Error: Out of bounds''')
        except ValueError:
            self.Label1_6.configure(text='''Please fill all fields''')

1 Ответ

0 голосов
/ 29 октября 2018

Из вопроса не понятно, что вы подразумеваете под ". Я пытался добавить многопоточность, но это не сработало так, как задумано. "

В любом случае, пожалуйста, проверьте этот пост: http://stupidpythonideas.blogspot.com/2013/10/why-your-gui-app-freezes.html

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

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