[PyQt] Bye bye segmentation fault

Cyril Giraudon cyril.giraudon at free.fr
Mon Sep 20 10:42:39 BST 2010


  Modifications in the code don't make things nicer :-( :

Sorry for not reporting the system characteristics :

(sandbox)cyril at CGN-L: pyqt$ python example.py
Platform :  Linux-2.6.32-24-generic-i686-with-Ubuntu-10.04-lucid
Machine :  i686
Qt version :  4.6.2
PyQt version :  4.7.2
Just after exec_ ...
Erreur de segmentation

I note the same behaviour on x86_64-with-Ubuntu-10.04-lucid

Regards,

Cyril.



Le 20/09/2010 11:04, Vincent Vande Vyvre a écrit :
> Le 20/09/10 10:07, Cyril Giraudon a écrit :
>>  Hello,
>>
>> I am a PyQt newbye and I wanted to do some tests with QToolBar in a 
>> QDialog (Seems multiple QMainWindow use is not recommanded in a 
>> QApplication), so I started coding a simple example (reported below).
>>
>> The code seems correct but it terminates with a segmentation fault 
>> when the QUIT button is pressed :
>>
>> """""""""""""""""""""""""""""""""""""
>> (sandbox)cyril at CGN-L: pyqt$ python example.py
>> Qt version :  4.6.2
>> PyQt version :  4.7.2
>> Erreur de segmentation
>> """""""""""""""""""""""""""""""""""""
>>
>> I don't understand what happens.
>> Is there any explanation ?
>>
>> Thanks a lot,
>>
>> Cyril.
>>
>>
>> """""""""""""""""""""""""""""""""
>> example.py source code
>> """""""""""""""""""""""""""""""""
>> # -*- coding: utf8 -*-
>>
>> import sys
>>
>> from PyQt4.QtCore import SIGNAL, SLOT, QT_VERSION_STR, PYQT_VERSION_STR
>> from PyQt4.QtGui import (QApplication, QDialog, QVBoxLayout,
>>                          QToolBar, QAction, QLabel)
>>
>> if __name__=='__main__':
>>     print "Qt version : ", QT_VERSION_STR
>>     print "PyQt version : ", PYQT_VERSION_STR
>>
>>     app = QApplication(sys.argv)
>>
>>     dialog = QDialog()
>>     dialog.setWindowTitle(u"Bye bye")
>>
>>     layout = QVBoxLayout(dialog)
>>
>>     toolbar = QToolBar()
>>
>>     label = QLabel("Hello World!")
>>     def say_bye():
>>         label.setText("Bye Bye")
>>     bye_action = QAction("Bye bye", dialog, triggered=say_bye)
>>     toolbar.addAction(bye_action)
>>
>>     quit_action = QAction("Quit", dialog)
>>     dialog.connect(quit_action, SIGNAL("triggered()"),
>>                    app, SLOT("quit()"));
>>     toolbar.addAction(quit_action)
>>
>>     layout.addWidget(toolbar)
>>     layout.addWidget(label)
>>
>>     dialog.show()
>>     app.exec_()
>> """""""""""""""""""""""""""""""""""""""""
>> _______________________________________________
>> PyQt mailing list PyQt at riverbankcomputing.com
>> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>>
> Salut,
>
> Change these lines:
>
>     bye_action = QAction("Bye bye", dialog)
>     bye_action.triggered.connect(say_bye)
>     toolbar.addAction(bye_action)
>
>     quit_action = QAction("Quit", dialog)
>     quit_action.triggered.connect(quit)
>     toolbar.addAction(quit_action)
>
> and this one:
>
>     sys.exit(app.exec_())
>
> Cheers
>
> -- 
> Vincent V.V.
> Oqapy <https://launchpad.net/oqapy>
>
>
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20100920/9b3c21c4/attachment-0001.html>


More information about the PyQt mailing list