- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试向 tableView
添加过滤和排序方法,为此我需要使用 QSortFilterProxyModel
。我的问题是,我使用 QSortFilterProxyModel
的初始模型需要表格的所有单元格都已在编辑器模式中打开。在我将 QStandardItemModel
添加到 QSortFilterProxyModel
之后,单元格尚未处于可编辑模式。
这按预期工作:
QStandardItemModel *model = new QStandardItemModel(0, 5, this); //reimplemented class
QItemDelegate *mydelegate = new QItemDelegate(this); //reimplemented class
ui -> tableView -> setModel(model);
ui -> tableView -> setItemDelegate (mydelegate);
for(size_t i=0; i<m_BoardingsVector.size(); i++) //a structure from a function that adds rows dynamically
{
model -> insertRows(model -> rowCount(),1);
for(int j=0; j<5; ++j)
ui -> tableView -> openPersistentEditor(model -> index(model -> rowCount() - 1, j));
}
仅当我双击单元格时才会显示单元格。这意味着 tableView
的 openPersistestentEditor
方法无法正常工作。
QStandardItemModel *model = new QStandardItemModel(0, 5, this); //reimplemented class
QItemDelegate *mydelegate = new QItemDelegate(this); //reimplemented class
QSortFilterProxyModel * m_proxyModel = new QSortFilterProxyModel();
m_proxyModel -> setSourceModel(model);
ui -> tableView -> setModel( m_proxyModel);
ui -> tableView -> setItemDelegate (mydelegate);
ui -> tableView -> sortByColumn(0, Qt::AscendingOrder);
ui -> tableView -> setSortingEnabled(true);
for(size_t i=0; i<m_BoardingsVector.size(); i++) //a structure from a function that adds rows dynamically
{
model -> insertRows(model -> rowCount(),1);
for(int j=0; j<5; ++j)
ui -> tableView -> openPersistentEditor(model -> index(model -> rowCount() - 1, j));
}
最佳答案
我刚遇到这个问题,只是阅读你的问题和代码摘录让我意识到错误:
View (ui->tableView
) 设置为使用一个模型 (m_proxyModel
),但编辑器的索引来自不同的模型 ( >模型
)。这可能对 View 没有任何意义。1
改变:
ui -> tableView -> openPersistentEditor(model -> index(model -> rowCount() - 1, j));
到:
ui -> tableView -> openPersistentEditor(m_proxyModel -> index(model -> rowCount() - 1, j));
应该解决你的问题,我相信。
对我来说,它造成了一个不同的问题,即编辑器没有显示在正确的单元格中,但这可能是我的 QAbstractProxyModel
的子类实现有问题(通常不推荐)。
<我>1 我瞥了一眼 source code对于QAbstractItemView
,我还没有找到明确的限制,但这仍然是我能想到的最合理的解释。
关于c++ - openPersistentEditor 中的 QSortFilterProxyModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39034621/
我正在尝试向 tableView 添加过滤和排序方法,为此我需要使用 QSortFilterProxyModel。我的问题是,我使用 QSortFilterProxyModel 的初始模型需要表格的所
我是一名优秀的程序员,十分优秀!