<div dir="ltr">Hi,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 13, 2013 at 2:01 PM, Jorge Tornero - Listas <span dir="ltr"><<a href="mailto:jtorlistas@gmail.com" target="_blank">jtorlistas@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank you for reading this:<br>
<br>
I' ve populated a tablewidget and I want to reuse its (internal) model to pouplate a qcombobox . So far, I've done:<br>
<br>
1) I create a qtableview and a model for it as newModel=tableWidget.model()<br>
2) I set the model of my combo the same as the qtableview<br>
3) I set combobox's view as the qtableview.<br>
<br>
Of course it works... but when I remove a item in the "original" tablewidget, it gets removed from the combo. I think it's amatter of assignmente, etc... but I've tried with copy() and deepcopy() and it throws an error:<br>

<br>
TypeError: PyQt4.QtCore.<u></u>QAbstractTableModel represents a C++ abstract class and cannot be instantiated<br>
<br>
Any idea on how to proceed?<br></blockquote><div><br></div><div>Sharing a model only makes sense if you want to make sure that all views using it show the same data. That also means that all views will drop items if they are removed from the model, this is intentional and not a bug.</div>
<div><br></div><div>Now if you don't want that, you actually don't want to share the model. So what you need to do is create a copy of the data that the model uses and then populate the combobox model with that. Since you use QTableWidget the underlying data is whatever you used to populate the QTableWidgetItems. That data is what you need to put into the combobox, you can't just use the model of the tablewidget.</div>
<div><br></div><div>Andreas</div><div> </div></div></div></div>