近期一个项目中要用到表格控件。QTableWidget 约等于 QTableView + Model,当时考虑的是想简单一点,我就直接用了QTableView,取数据的时候使用了根据网上的介绍用了takeItem。
#问题:数据倒是能取到了,可取完数后,发现表格里的数没有了,这是怎么回事,可我我给郁闷坏了,我就取个数就能把 item 里的数据给丢掉,难不成我取的是量子信息,只要观测了,状态就会塌缩???
要解决这个问题,就要从takeItem这个 功能说起,从字面上讲,这应该是获取到item,但事实上可不一样,查了帮助才知道:
takeItem
原文:Removes the item at (row, column) without deleting it. The model releases ownership of the item.
翻译:删除(行、列)处的项,而不删除它。模型将释放项目的所有权。
item
原文:Returns the item for the given row and column if one has been set; otherwise returns nullptr.
翻译:返回给定行和列的项(如果已设置)。
下面就不用我说了吧,呵呵,取数的时候改成 item(int row, int column = 0) 就好了。