我的代碼:QItemSelectionModel :: setCurrentIndex不會對開放工作
void TreeModel::selectIndex(QModelIndex ix) {
if (!ix.isValid()) return;
qDebug() << "name1" << ix.data();
tree->selectionModel()->clear();
tree->setExpanded(ix.parent(), true);
tree->selectionModel()->setCurrentIndex(ix, QItemSelectionModel::SelectCurrent);
tree->scrollTo(ix);
}
這段代碼運行刪除/插入節點後確定。但是,當我嘗試選擇從QMainWindow的前一交易日的記憶節點:: showEvent結果是:
name1 QVariant(QString, "Highlight elements")
The program has unexpectedly finished.
C:\Home\develop\qt\arm\designer\Designer exited with code -1073741819
沒有tree->selectionModel()->setCurrentIndex(ix, QItemSelectionModel::SelectCurrent);
效果很好,但我確實需要來選擇該選項。
非常感謝您提前!
調試日誌:
>~"\nProgram received signal "
>~"SIGSEGV, Segmentation fault.\n"
>~"0x00438290 in QVariant::Private::Private (this="
>&"warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)\n"
(Internal error: pc 0x0 in read in psymtab, but not in symtab.)
>&"\n"
>~"0x0) at ../../../../../../Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtCore/qvariant.h:367\n"
>~"367\t inline Private(): type(Invalid), is_shared(false), is_null(true)\n"
>~"data=[{iname=\"local.node\",name=\"node\",addr=\"0x14384220\",addr=\"0x14384220\",numchild=\"9\",origaddr=\"0x28d86c\",type=\"DNode\",value=\"{...}\",},{iname=\"local.this\",name=\"this\",addr=\"0x14341820\",addr=\"0x14341820\",numchild=\"5\",origaddr=\"0x28d890\",type=\"TreeModel\",value=\"{...}\",},{iname=\"local.index\",name=\"index\",addr=\"0x28dba8\",numchild=\"0\",type=\"QModelIndex &\",value=\"(invalid)\",},{iname=\"local.role\",name=\"role\",addr=\"0x28d898\",numchild=\"0\",type=\"int\",value=\"1\",},],typeinfo=[{name=\"aW50\",size=\"4\"}{name=\"Y29uc3QgUU1vZGVsSW5kZXggJg==\",size=\"4\"}{name=\"RE5vZGUgKg==\",size=\"4\"}{name=\"RE5vZGU=\",size=\"36\"}]\n"
>2390^done
dDISCARDING JUNK AT BEGIN OF RESPONSE:
dProgram received signal SIGSEGV, Segmentation fault.
d0x00438290 in QVariant::Private::Private (this=0x0) at ../../../../../../Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtCore/qvariant.h:367
d367 inline Private(): type(Invalid), is_shared(false), is_null(true)
<Rebuild Watchmodel 243>
sFinished retrieving data
它究竟在哪裏崩潰?在調試器中運行它。沒有它的setCurrentIndex中的 –
。我確實使用調試器。 – eugene
如果您運行調試器,然後向我們顯示回溯。 –