[PyQt] Conflict between setuptools & requirements in official PyQt5 docs
Damon Lynch
damonlynch at gmail.com
Mon Feb 8 17:01:43 GMT 2016
The PyQt5 docs explicitly say not to put the application startup logic in a
function e.g. main():
http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html#object-destruction-on-exit
Whereas setuptools and its entry_points feature requires the startup logic
be in a function.
>From looking through a bunch of projects on github, I see that the great
majority simply ignore the official PyQt5 advice, and have a main() type
function with all their startup logic.
However at least one project takes the approach of deleting PyQt objects
before exit (drawing on an insight offered by Dr. Koval):
def main():
import sys
app = QtGui.QApplication(sys.argv)
window = DataViz()
window.show()
app.exec_()
# fixed segfaults at exit:
#
http://python.6.x6.nabble.com/Application-crash-on-exit-under-Linux-td5067510.html
del window
del app
sys.exit(0)
if __name__ == '__main__':
main()
Source:
https://github.com/subhacom/dataviz/blob/e62a591149750e5e5d21f13b4dfee28409a3d683/dataviz/dataviz.py
Is this approach guaranteed to work as well as the approach specified in
the official docs?
Thanks
Damon
--
http://www.damonlynch.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160208/75116210/attachment.html>
More information about the PyQt
mailing list