<div dir="ltr"><div>Hi Florian,</div><div><br></div><div>Thanks for the response.</div><div><br></div>>custom models are *hard*, that's why I said it's way easier to base things on a >QStandardItemModel<div><br></div><div>I'll check by changing my model from QAbstractItemModel to QStandardItemModel. I'll also try to test the same with the latest PyQt(5.8.x) version also.</div><div><br></div><div>>With whatever you'd use to do so on your system for other (C++)<br>>applications. For example, DebugDiag on Windows or gdb or coredumpctl on<br>>Linux.</div><div><br></div><div>Can you suggest any equivalent tools in Python?</div><div><br></div><div>>Are you inserting things into your model from a thread? AFAIK, Qt does<br>>not support that - so if that worked with Qt 4, that was pure luck.<br><div class="gmail_extra"><br></div><div class="gmail_extra">I'm using a QThread here to fetch children items from server. It must be noted that I'm not passing the model indexes here. Instead I pass a key and just before inserting the rows, I retrieve the parent index from the model that corresponds to the particular key. Will try pytest-qt to test my model also. Thanks.</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 21, 2017 at 2:02 AM, Florian Bruhin <span dir="ltr"><<a href="mailto:me@the-compiler.org" target="_blank">me@the-compiler.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
On Sat, May 20, 2017 at 08:53:29PM +0530, Rathinam Signup wrote:<br>
> I did test the same code by porting it back to *PyQt4* and it works without<br>
> any issues. So I can assure you that *the bug is with PyQt 5.6*.<br>
<br>
Not necessarily. If anything, the bug would probably be in Qt 5, PyQt is<br>
just a relatively thin wrapper around that.<br>
<br>
However, it's also possible something is just different in Qt 4 and<br>
Qt 5, and there's still something wrong with your code (custom models<br>
are *hard*, that's why I said it's way easier to base things on a<br>
QStandardItemModel), and it just didn't show up as a crash on Qt 4.<br>
<span class="gmail-"><br>
> Can you please suggest some ways to view the crash report like in<br>
> which thread the crash occured?<br>
<br>
</span>With whatever you'd use to do so on your system for other (C++)<br>
applications. For example, DebugDiag on Windows or gdb or coredumpctl on<br>
Linux.<br>
<span class="gmail-"><br>
> I set the primary key as User Data in the QAbstractItemModel. When the user<br>
> expands the item I pass this primary key to a QThread which connects with<br>
> the server and when the results are obtained, I add children for the<br>
> corresponding tree item. When the execution hits the line beginInsertRows<br>
> the app crashes.<br>
<br>
</span>Are you inserting things into your model from a thread? AFAIK, Qt does<br>
not support that - so if that worked with Qt 4, that was pure luck.<br>
<span class="gmail-"><br>
On Sat, May 20, 2017 at 06:32:38PM +0100, Barry wrote:<br>
> > On 19 May 2017, at 12:51, Rathinam Signup <<a href="mailto:tfa.signup.test@gmail.com">tfa.signup.test@gmail.com</a>> wrote:<br>
> ><br>
> > class TreeItem(object):<br>
><br>
> Should this be derived from QtGui.QStandardItem?<br>
<br>
</span>Since it's not a QStandardItemModel, probably not ;-)<br>
<span class="gmail-"><br>
On Sat, May 20, 2017 at 10:11:34PM +0530, Rathinam Signup wrote:<br>
> I would like to add that I did test my model with the Model Tester provided<br>
> here <a href="https://github.com/bgr/PyQt5_modeltest" rel="noreferrer" target="_blank">https://github.com/bgr/PyQt5_<wbr>modeltest</a> and didn't find any bugs. Thanks<br>
<br>
</span>Even when modifying your model? Note that the pytest-qt model tester<br>
adds some additional tests on top of those, though.<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"><br>
Florian<br>
</div></div></blockquote></div><br></div></div></div>