[PySide] wait for QFileDialog to close

Frank Rueter | OHUfx frank at ohufx.com
Tue Dec 10 22:43:09 CET 2013


Here is an example using signals/slots

On 11/12/13 09:56, Janwillem van Dijk wrote:
>
> Here is the snippet: It reads the filenames in a folder and determines 
> new names for photo's based on the exif info.
>
> I apreciate that threading might be a solution but the problem seems 
> too simple for that. Can you give an example on how to use the signal 
> concept?
>
>
> self.outFolder = QFileDialog.getExistingDirectory(
>
> caption='Destination folder', dir=self.defOutFolder)
>
> self.outFiles = []
>
> if self.outFolder:
>
> self.outFolder = self.outFolder.replace('\\', '/')
>
> self.lineEdit_dest.setText(self.outFolder)
>
> self.progressBar.setRange(0, self.numFiles)
>
> for i, fname in enumerate(self.inFiles):
>
> self.progressBar.setValue(i + 1)
>
> newpath, newfname = rename_photo(self.inFolder, fname)
>
> newpath = path.join(self.outFolder, newpath)
>
> self.outFiles.append([fname, newpath, newfname])
>
> s = fname + ' --> ' + self.outFolder + '\n'
>
> s += path.join(newpath, newfname).replace(self.outFolder, '')
>
> self.plainTextEdit_dest.appendPlainText(s)
>
>
>
> On 10/12/13 21:35, Sean Fisk wrote:
>>
>> Hi Janwillem,
>>
>> Are you running the “lengthy part that processes a files list” within 
>> the GUI thread? If so, you will probably see your GUI hang while this 
>> is happening (you won’t be able to click or do anything). In this 
>> case, you should consider running the processing in a different 
>> thread using QThread 
>> <http://seanfisk.github.io/pyside-docs/pyside/PySide/QtCore/QThread.html> 
>> or QThreadPool 
>> <http://seanfisk.github.io/pyside-docs/pyside/PySide/QtCore/QThreadPool.html>.
>>
>> Can you post the relevant part of the code?
>>
>> Thanks,
>>
>>
>>
>> --
>> Sean Fisk
>>
>>
>> On Tue, Dec 10, 2013 at 3:17 PM, Janwillem van Dijk 
>> <jwevandijk at xs4all.nl <mailto:jwevandijk at xs4all.nl>> wrote:
>>
>>     Hi, I have a PySide script that uses
>>     QFileDialog.getExistingDirectory(). After clicking the Open
>>     button the script proceeds with a lengthy part that processes a
>>     files list and writes to a QPlainTextEdit. Unfortunately the
>>     QFileDialog widget does only disappear after this processing is
>>     finished, hiding the QPlainTextEdit.
>>
>>     How can I make that the QFileDialog widget is gone before the
>>     processing starts?
>>
>>     Cheers, Janwillem
>>
>>
>>
>>
>>     _______________________________________________
>>     PySide mailing list
>>     PySide at qt-project.org <mailto:PySide at qt-project.org>
>>     http://lists.qt-project.org/mailman/listinfo/pyside
>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20131211/c1878d75/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: QFileBrowserSignal.py
Type: text/x-python
Size: 1236 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20131211/c1878d75/attachment.py>


More information about the PySide mailing list