underalmaty
@underalmaty

PyQt5 Как отключить функцию после её выполнения?

Python 3.6 PyQt5
Помогите Даше добраться до последней строчки кода.
textBrowser - поле для ввода текста.
textBrowser2 - поле для вывода.
По задумке я должен вводить текст в textBrowser, нажимать на F5 и, собственно, должно происходить нужное действие.
Был большой код, отлично работающий. Однако рубившись в него чот я намудрил и фурычить он перестал. Ошибок, зараза, тоже не даёт. Убрал вообще всё, кроме основных функций, содержимое которых тоже подчистил, оставив только print'ы для мониторинга.
В общем. Добирается он успешно и положенным путём до Body. После чего выполняя функцию Body он её(if) не выполняет а запускает обратно Start.
Чую я проблема в алгоритме прихода к Body, а сообразить не могу.
Вопрос в заголовке некорректный, полагаю, но я даже не знаю как сформулировать задачу. Однако вопрос насущный, есть ли для функций команда аналогичная break?

self.ui.pushButton.clicked.connect(self.Start)
 
    def keyPressEvent(self,e):
        if e.key() == QtCore.Qt.Key_F5:
            print('key')
            self.ui.pushButton.click()
 
    def Start(self):
        start_anw = self.ui.textBrowser.toPlainText()
        if start_anw == 'Музло':
            print('Muzlo')
            self.Contin()
        else:
            print('nemuzlo')
 
    def Contin(self):
        print('Contin enter')
        self.ui.textBrowser2.setText(str(choice(list(open('con_anw.txt')))))
        self.Body()
 
    def Body(self):
        print('start body')
        self.ui.textBrowser.setText('')
        name = self.ui.textBrowser.toPlainText()
        if name == '1':
            print('success')
  • Вопрос задан
  • 285 просмотров
Решения вопроса 1
underalmaty
@underalmaty Автор вопроса
Решил таки. От боди избавился, нужные функции проверок засунул в старт.
self.ui.pushButton.clicked.connect(self.SStart)



    def SStart(self):
        print('startt')
        start_anw = self.ui.textBrowser.toPlainText()
        if start_anw == 'Музло':
            self.ui.pushButton.clicked.connect(self.Body)
            self.ui.textBrowser.setText('')
            self.ui.textBrowser2.setText(str(choice(list(open('con_anw.txt')))))
        else:
            self.ui.textBrowser2.setText(str(choice(list(open('not_ready.txt')))))
        if start_anw in self.find_band():
            self.ui.textBrowser2.setText(str(choice(list(open('again.txt')))))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы