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