[PySide] wait for QFileDialog to close

Janwillem van Dijk jwevandijk at xs4all.nl
Tue Dec 10 21:56:54 CET 2013


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/20131210/ff248077/attachment.html>


More information about the PySide mailing list