exception when closing pyqt5 user interface









up vote
0
down vote

favorite












I'm developing a GUI using QTCreator and pyqt5 which uses a pair of threads to get data from sensors to display them on the GUI. I have a button to exit and close the GUI, but after closing it prints the following exception:



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


Right now my program starts with:



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


and I've found out that if it gets started the following way, no exception appears and the app closes correctly:



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

if __name__ == '__main__':
main()


Is someone familiar with what causes that exception? I've read on several pages about starting a GUI, but I don't quite understand what's the difference between both ways of starting the program. Can somebody guide me please?










share|improve this question























  • If Powapp is replaced by QWidget still have the same behavior? If so, I ask you to replace Powapp with QWidget, if not then I ask you to provide a Minimal, Complete, and Verifiable example because the error would depend on Powapp.
    – eyllanesc
    Nov 9 at 16:54














up vote
0
down vote

favorite












I'm developing a GUI using QTCreator and pyqt5 which uses a pair of threads to get data from sensors to display them on the GUI. I have a button to exit and close the GUI, but after closing it prints the following exception:



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


Right now my program starts with:



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


and I've found out that if it gets started the following way, no exception appears and the app closes correctly:



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

if __name__ == '__main__':
main()


Is someone familiar with what causes that exception? I've read on several pages about starting a GUI, but I don't quite understand what's the difference between both ways of starting the program. Can somebody guide me please?










share|improve this question























  • If Powapp is replaced by QWidget still have the same behavior? If so, I ask you to replace Powapp with QWidget, if not then I ask you to provide a Minimal, Complete, and Verifiable example because the error would depend on Powapp.
    – eyllanesc
    Nov 9 at 16:54












up vote
0
down vote

favorite









up vote
0
down vote

favorite











I'm developing a GUI using QTCreator and pyqt5 which uses a pair of threads to get data from sensors to display them on the GUI. I have a button to exit and close the GUI, but after closing it prints the following exception:



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


Right now my program starts with:



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


and I've found out that if it gets started the following way, no exception appears and the app closes correctly:



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

if __name__ == '__main__':
main()


Is someone familiar with what causes that exception? I've read on several pages about starting a GUI, but I don't quite understand what's the difference between both ways of starting the program. Can somebody guide me please?










share|improve this question















I'm developing a GUI using QTCreator and pyqt5 which uses a pair of threads to get data from sensors to display them on the GUI. I have a button to exit and close the GUI, but after closing it prints the following exception:



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


Right now my program starts with:



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


and I've found out that if it gets started the following way, no exception appears and the app closes correctly:



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

if __name__ == '__main__':
main()


Is someone familiar with what causes that exception? I've read on several pages about starting a GUI, but I don't quite understand what's the difference between both ways of starting the program. Can somebody guide me please?







python python-3.x pyqt pyqt5






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 9 at 18:31

























asked Nov 9 at 16:41









Fabian S

104




104











  • If Powapp is replaced by QWidget still have the same behavior? If so, I ask you to replace Powapp with QWidget, if not then I ask you to provide a Minimal, Complete, and Verifiable example because the error would depend on Powapp.
    – eyllanesc
    Nov 9 at 16:54
















  • If Powapp is replaced by QWidget still have the same behavior? If so, I ask you to replace Powapp with QWidget, if not then I ask you to provide a Minimal, Complete, and Verifiable example because the error would depend on Powapp.
    – eyllanesc
    Nov 9 at 16:54















If Powapp is replaced by QWidget still have the same behavior? If so, I ask you to replace Powapp with QWidget, if not then I ask you to provide a Minimal, Complete, and Verifiable example because the error would depend on Powapp.
– eyllanesc
Nov 9 at 16:54




If Powapp is replaced by QWidget still have the same behavior? If so, I ask you to replace Powapp with QWidget, if not then I ask you to provide a Minimal, Complete, and Verifiable example because the error would depend on Powapp.
– eyllanesc
Nov 9 at 16:54

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53229890%2fexception-when-closing-pyqt5-user-interface%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53229890%2fexception-when-closing-pyqt5-user-interface%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

Syphilis

Darth Vader #20