问题
:如何在a中查找子项
QTreeView
加载
QAbstractItemModel
模型与
model->match()
方法?
问题
:
型号->匹配()
找不到子项,wtf?!
示例如下:
alt text http://www.freeimagehosting.net/uploads/179eee87e3.png
正如你从图片中看到的,我正在尝试扩展
Layouts
带此代码的子项:
void Dialog::restoreState(void)
{
// get list
QSettings settings("settings.ini", QSettings::IniFormat);
settings.beginGroup("MainWindow");
QStringList List = settings.value("ExpandedItems").toStringList();
settings.endGroup();
foreach (QString item, List)
{
if (item.contains('|'))
item = item.split('|').last();
// search `item` text in model
QModelIndexList Items = model->match(model->index(0, 0), Qt::DisplayRole, QVariant::fromValue(item));
if (!Items.isEmpty())
{
// Information: with this code, expands ONLY first level in QTreeView
view->setExpanded(Items.first(), true);
}
}
}
在哪里?
settings.ini
文件包含:
[MainWindow]
ExpandedItems=Using Containers, Connection Editing Mode, Form Editing Mode, Form Editing Mode|Layouts
ps:根项目在开始时成功展开!