I am just sending a signal from a worker thread to the main thread. But
since QPixmap can't be passed betwen threads I thought QImage can't either.
Great link, thank you! For my next task I need to turn a loop that
spawns various QProcesses into a queu to control the max number of
concurrent processes. I am hoping to just use QRunnable to launch a
QProcess and control the max number of threads via the global
QThreadPool(). But will check that link if this approach is the right now.
Cheers,
frank
On 10/23/2017 01:50 PM, Renaud Talon wrote:
If you’re talking about a QRunnable receiving data from another
QRunnable you are correct. QRunnable can’t receive data through
signals. I learned that the hard way recently.
You have to use QThread or Qt Concurent if you want to do that, see
table called “Comparison of Solutions” here :
http://doc.qt.io/qt-5/threads-technologies.html
*From: *Frank Rueter | OHUfx <mailto:fr...@ohufx.com>
*Sent: *Sunday, October 22, 2017 5:40 PM
*To: *pyside@qt-project.org <mailto:pyside@qt-project.org>
*Subject: *Re: [PySide] sending data from urllib2.urlopen().read() via
signal corrupts in receiver
Interesting. I assumed you can't do that between different threads to
I never tried it.
On 10/23/2017 05:36 AM, Erik Johansson wrote:
Had the same problem.
Solved it by creating a QImage and emitting that.
Cheers,
Erik
On Sun, Oct 22, 2017 at 11:19 AM, Frank Rueter | OHUfx
<fr...@ohufx.com <mailto:fr...@ohufx.com>> wrote:
quick follow up:
I am now writing the files to a temp directory and only
passing the respective path via the signal, but I'm still
curious how I would do this without writing anything to disk.
Cheers,
frank
On 10/22/2017 09:18 PM, Frank Rueter | OHUfx wrote:
Hi,
I am downloading a few images in a separate thread using
QRunnable.
To download I am just using urllib2.urlopen() like this:
[...]
def run(self):
imageData = urllib2.urlopen(self.url).read()
print 'emitted:', imageData
self.signals.receivedData.emit(imageData) # this signal is
declared like this: QtCore.Signal(str)
However, the receiving slot is receiving nothing:
def setPixmap(self, imageData):
print 'received:', imageData
pixmap = QtGui.QPixmap()
pixmap.loadFromData(imageData)
self.data['pixmap'] = pixmap
I guess this is too naive an approach to download image
data in a separate thread?!
How can I fix this please?
Cheers,
frank
--
ohufxLogo 50x50 <http://www.ohufx.com>
*vfx compositing
<http://ohufx.com/index.php/vfx-compositing> | workflow
customisation and consulting
<http://ohufx.com/index.php/vfx-customising> *
_______________________________________________
PySide mailing list
PySide@qt-project.org <mailto:PySide@qt-project.org>
http://lists.qt-project.org/mailman/listinfo/pyside
_______________________________________________
PySide mailing list
PySide@qt-project.org <mailto:PySide@qt-project.org>
http://lists.qt-project.org/mailman/listinfo/pyside
--
*
**ERIK JOHANSSON*
Pipeline TD
*GOODBYE KANSAS STUDIOS*
Rosenlundsgatan 40, 4th floor
118 53 Stockholm, Sweden
Ph: +46 8 556 990 00 <tel:+46855699000>
www.goodbyekansas.com <http://www.goodbyekansas.com>
_______________________________________________
PySide mailing list
PySide@qt-project.org <mailto:PySide@qt-project.org>
http://lists.qt-project.org/mailman/listinfo/pyside
_______________________________________________
PySide mailing list
PySide@qt-project.org
http://lists.qt-project.org/mailman/listinfo/pyside