<div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;">So if Qt does not has <span style="line-height: 23.8px;">ownership of the </span><span style="line-height: 23.8px;">interceptor</span><span style="line-height: 23.8px;"> , and </span><span style="line-height: 23.8px;"> the </span><span style="line-height: 23.8px;">interceptor isn't referenced by Python , then it is </span><span style="line-height: 23.8px;">garbage collected, Right ?</span></div><div><span style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px; line-height: 23.8px;">BTW, if we assign a parent to </span><span style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px; line-height: 23.8px;">the </span><span style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px; line-height: 23.8px;">interceptor(e.g. </span>WebEngineUrlRequestInterceptor(profile)<span style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px; line-height: 23.8px;">), then it is owned by Qt, </span>therefore <span style="line-height: 23.8px;">won't be garbage collected. I tested it!</span></div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;"><span style="line-height: 23.8px;"><br></span></div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;"><br></div></div><!-- jy5ContentSuffix --><div>在2016年07月11 14时53分, "Florian Bruhin"<me@the-compiler.org>写道:</div><blockquote id="isReplyContent" style="padding-left:1ex; margin: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>* redstone-cold <<a href="mailto:redstone-cold@163.com">redstone-cold@163.com</a>> [2016-07-11 13:50:46 +0800]:<br>> I think ,normally ,once the profile has been set, then the profile should work on subsequent requests, and if you follow this post to change your code<br>> http://stackoverflow.com/questions/37658772/pyqt5-6-interceptrequest-doesnt-work<br>> It works as expected.<br>> <br>> <br>> I still cannot figure out why the strange behavior happened if we don't assign WebEngineUrlRequestInterceptor() to a variable<br><br>Because Qt does not know anything about Python references. It only has<br>the concept of ownership. The profile doesn't take ownership of the<br>interceptor (probably so you can use the same interceptor with<br>multiple profiles?), and Python doesn't know if Qt still needs the<br>interceptor - so you need to keep a reference it for it not to be<br>garbage collected.<br><br>Florian<br><br>-- <br>http://www.the-compiler.org | <a href="mailto:me@the-compiler.org">me@the-compiler.org</a> (Mail/XMPP)<br>   GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc<br>         I love long mails! | http://email.is-not-s.ms/<br></blockquote><br><br><span title="neteasefooter"><p> </p></span>