我正在Qt 4.7中工作。我有一個類是QAbstractTableModel的子類。我需要一個名爲intlist的本地QList來跟蹤標題是特定值的任何列。這些頭文件存儲在名爲headerNames的QStringList中。現在,我有這樣的:Qt - 如何從const函數追加到本地列表
QVariant myTableClass::data(const QModelIndex &index, int role) const
{
if(headerNames[index.column()] == "TriggerText")
{
this->intlist.append(index.column();
}
return QVariant;
}
當我嘗試建立這個,它給我的錯誤「C2663:‘的QList ::追加’:2個重載有this指針沒有法律的轉換」。我嘗試了幾種不同的方式,基於我在網上找到的類似問題給出的提示,包括:使用intlist而不是this-> intlist;將int設置爲index.column()的值,然後在append中使用該int;並創建一個單獨的非const函數來調用它來追加值。他們都給出了同樣的錯誤。我完全不知道該怎麼做。任何人都可以幫忙嗎?謝謝!
聲明'intlist'成員'mutable',你應該可以在'const'函數內修改它。 – Steve
請注意,您的代碼會跟蹤任何* access *觸發列。這是你想要做的嗎? 'return'語句無效,請包含有效的代碼以避免混淆實際問題。 – hyde
請注意,您是從Qt API繼承方法的完全偏離,以完全偏離該方法supposd做。如果你的代碼行爲不當,我不會感到驚訝。 – UmNyobe