- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了正确继承 QAbstractProxyView 并使其与 QListView 等 View 一起工作,我必须做什么。到目前为止,我已经这样做了:
class Proxy : public QAbstractProxyModel
{
Q_OBJECT
public:
explicit Proxy(QAbstractItemModel* source_model = 0, QObject *parent = 0);
QModelIndex mapToSource(const QModelIndex & proxyIndex) const;
QModelIndex mapFromSource(const QModelIndex & sourceIndex) const;
virtual QModelIndex index(int row, int column,
const QModelIndex &parent = QModelIndex()) const;
virtual QModelIndex parent(const QModelIndex &child) const;
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
virtual QVariant data(const QModelIndex&, int = Qt::DisplayRole) const;
signals:
public slots:
};
这个类中的每个函数都在单独的 cpp
文件中实现。不幸的是在我的 Ui
类中做:
Proxy* p = new Proxy;
p->setSourceModel(model_);//model is of class Model
listView->setModel(p);
不起作用;来自模型的数据未显示在 listView
中。
最佳答案
如果要与 QListView 一起使用,您应该使您的模型继承自 QAbstractListModel
。您只需要实现三个方法:构造函数、rowCount
和data
。另请参阅此帖子以获取更多信息:How to create a custom model for a QListView in Qt
关于c++ - 如何正确子类化并插入 View QAbstractProxyModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324432/
由于我应该只对模型进行少量修改,透明代理将是最好的起点。该代理将被插入到模型链中。 制作代理模型的最简洁方法是什么,使得源模型和目标模型之间的所有东西在两个方向上都保持不变? 是否有任何琐碎的inde
为了正确继承 QAbstractProxyView 并使其与 QListView 等 View 一起工作,我必须做什么。到目前为止,我已经这样做了: class Proxy : public QAbs
我正在尝试实现一个 ProxyModel,它采用表示平面结构的源模型。然后您可以选择此模型的一列作为分组值。然后,代理模型应创建与此列的不同值一样多的顶部节点,并将底层行排序到它们中。 但是当这样做时
这是我在源模型中的 setData: bool TreeModel::setData(const QModelIndex& index, const QVariant& value, int role
我正在尝试创建一个代理模型来动态映射来自源模型的项目。 在 QIdentityProxyModel 的实现之后,我发现实际上不可能通过检查 4 个核心函数来复制它: mapFromSource() m
我对 QAbstractProxyModel 进行了子类化,它的源模型是 QSqlTableModel 的子类。代理模型一次只能显示源模型的一行。这是代码: bool SensorDisplayMod
我有一个自定义 QAbstractTableModel 和一个翻转第一个模型轴的代理模型。有了这个工作表,我只需切换模型。当我切换到图表的代理模型时,它会在我将行分配给 QHXYModelMapper
我是一名优秀的程序员,十分优秀!