исключение при закрытии пользовательского интерфейса pyqt5 - PullRequest
0 голосов
/ 09 ноября 2018

Я разрабатываю графический интерфейс с использованием QTCreator и pyqt5, который использует пару потоков для получения данных от датчиков для отображения их в графическом интерфейсе. У меня есть кнопка для выхода и закрытия графического интерфейса, но после закрытия она выводит следующее исключение:

Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x71d4ef60>
Traceback (most recent call last):
  File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable

Сейчас моя программа начинается с:

if __name__ == '__main__':
    app = QApplication(sys.argv)  
    form = Powapp()
    #form.showFullScreen()
    form.show()
    sys.exit(app.exec())

и я обнаружил, что если он запускается следующим образом, исключение не появляется, и приложение корректно закрывается:

def main():
    app = QApplication(sys.argv)  
    form = Powapp()
    #form.showFullScreen()
    form.show()
    sys.exit(app.exec())          

if __name__ == '__main__':            
    main()

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

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