我有一個窗口,其中包含QAbstractTableModel的子類(通過QSortFilterProxyModel)上的QTreeView(databaseTreeView
)。 我有一個[Add]按鈕,其中調用ui->databaseTreeView->model()->insertRow(ui->databaseTreeView->model()->rowCount());
。 我還有一個[編輯]按鈕,它使用ui->databaseTreeView->selectionModel()->currentIndex();
將索引傳遞給編輯器窗口。如何將項目添加到Qt4中的模型並獲取新項目的索引
我想有[添加]按鈕,自動打開與新建項目的索引的編輯器,但作爲模型進行排序,在那裏我插入的行,我不能使用的行號。加insertRows()
只返回一個布爾值(索引會更方便我的情況,所以我想知道是否有人可以告訴我如何獲得新增項目的索引)。
我願意兩三個小時奉獻給它,重構如果沒有選擇,但我會認爲它應該是相當簡單的。我好奇地看着QAbstractItemModel::rowsInserted
信號,但這只是返回我給出的行insertRows()
,並編輯列表中的最後一項,而不管它是否是剛添加的項目。
完整的源代碼可以在https://github.com/megamasha/FlashKard找到任何人細看。
謝謝你的報價,但它不是從一個指標轉換爲另一種的問題 - 它沒有在第一時間索引的問題。 無論如何,我找到了一個解決方案。我實現了自己的信號,從'addRows()'函數發送並連接到一個插槽,該插槽打開該卡進行編輯。 – 2012-03-06 14:58:20