[PyQt] PyQt4.Gui.QFileDialog

Matteo Boscolo matteo.boscolo at boscolini.eu
Mon Oct 31 08:32:37 GMT 2011


Try this after instantiate the application:
app.setQuitOnLastWindowClosed(False)

and this after closing the dialog:
app.closeAllWindows()

I use this in some case in my com application .. hope it helps

Regards,
Matteo



Il 31/10/2011 09:08, Janwillem ha scritto:
> Thanks, yes I see, that is under windows (XP on VirtualBox, python 2.7.1 and
> pyqt4 4.7.2 in my case) but under linux (ubuntu 11.10, python 2.7.2+ and
> pyqt 4.7.3) it only closes after the sleep has finished (or in case of my
> practical application, until the data processing finished)
> So any tips from a ubuntu user???
> cheers, Janwillem
>
>
> Matteo Boscolo wrote:
>> with this configuration
>> Python 2.6.6
>> PyQt4 4.7.3
>> open dialog
>> dialog finished
>> C:\Users\mboscolo\Documents\.bzr.log
>> finished
>>
>> it works perfectly .. after press the opendialog the form is closed and
>> start to print the rest of the debug
>>
>> regards,
>> Matteo
>>
>> Il 31/10/2011 08:07, Janwillem ha scritto:
>>> I want a small script with just a few filedialogs not a full blown gui
>>> application . However when I try the code below the dialog does not
>>> disappear after clicking the Open button on the dialog  but stays on top
>>> until the script exits. What am I doing wrong??
>>> Thanks, Janwillem
>>>
>>> def open_files(default_dir=None):
>>>       """Returns list of filenames optionally given a default dir"""
>>>       from sys import argv
>>>       from os import environ
>>>       from PyQt4.QtGui import QApplication, QFileDialog,QWidget
>>>       if default_dir == None:
>>>           default_dir = environ['HOME']
>>>       app = QApplication(argv)
>>>       fdialog = QFileDialog
>>>       filenames = fdialog.getOpenFileNames(directory=default_dir)
>>>       app.exit()
>>>       return list(filenames)
>>>
>>> if __name__ == '__main__':
>>>       from PyQt4.QtCore import QT_VERSION_STR
>>>       from platform import python_version
>>>       print('Python %s' % (python_version()))
>>>       print('PyQt4 %s' %QT_VERSION_STR)
>>>       print('open dialog')
>>>       lst = open_files()
>>>       print('dialog finished')
>>>       for fname in lst:
>>>           print(fname)
>>>       import time
>>>       time.sleep(2)
>>>       print 'finished'
>>>
>> _______________________________________________
>> PyQt mailing list    PyQt at riverbankcomputing.com
>> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>>
>>



More information about the PyQt mailing list