<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 19 Jan 2018, at 09:30, Alain Muls <<a href="mailto:alain.muls@gmail.com" class="">alain.muls@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="content-type" content="text/html; charset=utf-8" class="">
<div text="#000000" bgcolor="#FFFFFF" class=""><p class="">Hi All</p><p class="">I am working on a pyqt script that next to a mainwindow opens
several separate sub windows. A worker script is running in a
separate thread and sends signals which connect to different
slots. These slots can be located in sub-windows which are not
necessarily created at the instance the signal-slot connection is
made.</p><p class="">A problem arises for which I would get a correct solution (I
circumvent them for now):</p>
<ul class="">
<li class="">to avoid a problem with the signal-slot connection I do a test
on the sub-window, which I initialize to None at startup, before
connecting, doing<br class="">
<br class="">
if subWindow is not None:<br class="">
connect signal to slot<br class="">
<br class="">
If I open the window I create the connection from the
MainWindow, but here I have to check whether the worker script
is already active (done by opening a file) for which I also
perform an init to None and a similar check.<br class="">
<br class="">
Now I wonder what happens when I close the sub-window, will its
value ecome None again ?<br class="">
Also, from whatever side I try to create the connection, I
perform a check on something else being 'None' and I think this
is not the correct approach.<br class=""></li></ul></div></div></blockquote><div><br class=""></div><div>I think this is what you have.</div><div><br class=""></div><div>A main window that is always visible.</div><div>1 or more background tasks that are outputting something.</div><div>Other windows that come and go that show the output of the background tasks.</div><div><br class=""></div><div>What I would do is feed the output of the background tasks into a buffer that is used as the basis of what will be drawn.</div><div>When the user requests a window to show the background task do the following:</div><div>1. Create the Window</div><div>2. set a pointer to the background task buffer from which to draw the windows contents</div><div>3. connect all the signals you need. Probable including a buffer changed signal.</div><div><br class=""></div><div>If the user closes the window undo the above.</div><div><br class=""></div><div>Barry</div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div text="#000000" bgcolor="#FFFFFF" class=""><ul class=""><li class="">
</li>
</ul><p class="">Tx for your help<br class="">
Alain<br class="">
</p><p class=""><br class="">
</p>
<div class="moz-signature">-- <br class="">
<br class="">
<table style="background: none; border-width: 0px; border: 0px;
margin: 0; padding: 0; border-collapse: collapse; border-top:
1pt solid #F7751F; padding-top: 2px;" cellspacing="0" cellpadding="0" border="0" class="">
<tbody class="">
<tr class="">
<td style="padding-top: 0; padding-bottom: 0; padding-left:
0; padding-right: 7px; border-top: 0; border-bottom: 0:
border-left: 0; border-right: solid 3px #F7751F" valign="top" class=""><span id="cid:part1.0CB23D65.E117931F@gmail.com"><logorma-transparent-scaled.png></span></td>
<td style="padding-top: 0; padding-bottom: 0; padding-left:
12px; padding-right: 0;" class="">
<table style="background: none; border-width: 0px; border:
0px; margin: 0; padding: 0;" cellspacing="0" cellpadding="0" border="0" class="">
<tbody class="">
<tr class="">
<td colspan="2" style="padding-bottom: 5px; color:
#F7751F; font-size: 14px; font-family: Arial,
Helvetica, sans-serif;" class=""><strong class="">Alain Muls</strong></td>
</tr>
<tr class="">
<td colspan="2" style="color: #333333; font-size:
11px; font-family: Arial, Helvetica, sans-serif;" class=""><i class="">Professor</i></td>
</tr>
<tr class="">
<td colspan="2" style="color: #333333; font-size:
11px; font-family: Arial, Helvetica, sans-serif;" class="">Department
CISS</td>
</tr>
<tr class="">
<td colspan="2" style="color: #333333; font-size:
11px; font-family: Arial, Helvetica, sans-serif;" class=""><strong class="">Royal
Military Academy</strong></td>
</tr>
<tr class="">
<td style="vertical-align: top; width: 20px; color:
#F7751F; font-size: 11px; font-family: Arial,
Helvetica, sans-serif;" valign="top" width="20" class="">p:</td>
<td style="vertical-align: top; color: #333333;
font-size: 11px; font-family: Arial, Helvetica,
sans-serif;" valign="top" class="">+32 244 13936</td>
</tr>
<tr class="">
<td style="vertical-align: top; width: 20px; color:
#F7751F; font-size: 11px; font-family: Arial,
Helvetica, sans-serif;" valign="top" width="20" class="">a:</td>
<td style="vertical-align: top; color: #333333;
font-size: 11px; font-family: Arial, Helvetica,
sans-serif;" valign="top" class="">Renaissance Avenue 30</td>
</tr>
<tr class="">
<td style="vertical-align: top; width: 20px; color:
#F7751F; font-size: 11px; font-family: Arial,
Helvetica, sans-serif;" valign="top" width="20" class=""> </td>
<td style="vertical-align: top; color: #333333;
font-size: 11px; font-family: Arial, Helvetica,
sans-serif;" valign="top" class="">B1000 Brussels (Belgium)</td>
</tr>
<tr class="">
<td style="vertical-align: top; width: 20px; color:
#F7751F; font-size: 11px; font-family: Arial,
Helvetica, sans-serif;" valign="top" width="20" class="">w:</td>
<td style="vertical-align: top; color: #333333;
font-size: 11px; font-family: Arial, Helvetica,
sans-serif;" valign="top" class=""><a href="http://www.rma.ac.be/ciss/en/" style="
color: #1da1db; text-decoration: none;
font-weight: normal; font-size: 11px;" class="">www.rma.ac.be/ciss/en/</a> <span style="color: #F7751F;" class="">e: </span><a href="mailto:alain.muls@rma.ac.be" style="color:
#1da1db; text-decoration: none; font-weight:
normal; font-size: 11px;" class="">alain.muls@rma.ac.be</a></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</div>
_______________________________________________<br class="">PyQt mailing list <a href="mailto:PyQt@riverbankcomputing.com" class="">PyQt@riverbankcomputing.com</a><br class=""><a href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" class="">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a></div></blockquote></div><br class=""></body></html>