首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从另一个模型中提取子模型?

从另一个模型中提取子模型?
EN

Stack Overflow用户
提问于 2016-01-26 14:25:02
回答 1查看 1.3K关注 0票数 2

下面的代码来自一个Qt演示。这是QTreeView的一个模型。

下面的TreeItem类表示树中的每个节点,它可以有子节点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class TreeItem
{
public:
    explicit TreeItem(const QList<QVariant> &data, TreeItem *parentItem = 0);
    ~TreeItem();

    void appendChild(TreeItem *child);

    TreeItem *child(int row);
    int childCount() const;
    int columnCount() const;
    QVariant data(int column) const;
    int row() const;
    TreeItem *parentItem();

private:
    QList<TreeItem*> m_childItems;
    QList<QVariant> m_itemData;
    TreeItem *m_parentItem;
};

下面的TreeModel类是主要模型。它只包含一个根节点,其中包含所有其他子节点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class TreeModel : public QAbstractItemModel
{
    Q_OBJECT

public:
    explicit TreeModel(const QString &data, QObject *parent = 0);
    ~TreeModel();

    QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE;
    Qt::ItemFlags flags(const QModelIndex &index) const Q_DECL_OVERRIDE;
    QVariant headerData(int section, Qt::Orientation orientation,
                        int role = Qt::DisplayRole) const Q_DECL_OVERRIDE;
    QModelIndex index(int row, int column,
                      const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
    QModelIndex parent(const QModelIndex &index) const Q_DECL_OVERRIDE;
    int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
    int columnCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;

private:
    void setupModelData(const QStringList &lines, TreeItem *parent);

    TreeItem *rootItem;
};

我使用的是QML,我可以在树中显示这个模型,但是我也想在ListView中显示。

对于ListView,我只想一次显示一个层(第一个子层)。当用户单击任何项目时,应该清除并显示该项子项。我该怎么做?

我的Qml代码在下面。它显示所有的第一层子程序,这是很好的,但我需要显示当用户点击一个项目的孩子。我的想法是需要提取子模型并指向它,但是怎么做呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Item {
    width: parent.width
    height: parent.height

    ListView {
        //anchors.top: myImage.bottom
        anchors.fill: parent
        id: list
        spacing: 4
        model: treeModel

        delegate: listDelegate

    }

    Component {
        id: listDelegate
        Rectangle
        {
            id: delegateRect
            height: image.height
            width: 500
            Image {
                id: image
                source: "qrc:/icons/resources/element.ico"

            }

            Text {
                id: t
                anchors.left: image.right
                anchors.leftMargin: 20
                anchors.centerIn: delegateRect

                text: title + "/" + summary
                //text: display
            }

            MouseArea {
                anchors.fill: parent
                onClicked: {

                    list.currentIndex = index

                    console.log("Item clicked, index = " + index)

                    // I think I should change model here to sub model but how do I do it?
                    //list.model = treeModel.data(index) 
                }
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-01-27 01:41:23

您应该看看Qt文档http://doc.qt.io/qt-5/qabstractproxymodel.html中的http://doc.qt.io/qt-5/qabstractproxymodel.html和派生类。

代理模型用于映射模型索引(如果您想修改布局,或者对数据进行排序/筛选)和数据处理(修改从源模型数据方法返回的数据)。

您需要做的是添加一个属性来选择新的根(应该是提取模型的根项),并实现这两个方法mapFromSource(const QModelIndex &)mapToSource(const QModelIndex &)。这些方法将提供给视图的模型索引(仅在代理模型中有效)映射到基于当前设置的根属性的源模型有效的模型索引(反之亦然)。

此外,还应该重新实现roleNames()方法,以转发源模型定义的滚动名,以便能够从QML内部访问数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35025221

复制
相关文章
图的抽象:如何从概念的定义中提取模型?
最近的业余时间里,一直在研究图相关的领域,顺便构建出 feakin 图形引擎。在研究了 Mermaid、Cytoscape、Drawio/MxGraph/MaxGraph、Excalidraw 等图形库之后,大概写了两个 PoC(概念验证): 数据的处理。即将文本转换为可渲染的数据模型。即结合语法解析、图算法来对数据进行处理。 图形的渲染。即基于 Konva.js 的 Canvas 方式来渲染图形。 在这个过程中,因为研究时间比较分散,一些概念相对比较模糊。所以,便想抽空重新梳理一下其中的思路,方便于后续继
Phodal
2022/08/25
2K0
图的抽象:如何从概念的定义中提取模型?
【colab pytorch】提取模型中的某一层
modules()会返回模型中所有模块的迭代器,它能够访问到最内层,比如self.layer1.conv1这个模块,还有一个与它们相对应的是name_children()属性以及named_modules(),这两个不仅会返回模块的迭代器,还会返回网络层的名字。
西西嘛呦
2020/08/26
1.7K0
加速BERT模型:从架构优化、模型压缩到模型蒸馏
原文链接:https://blog.inten.to/speeding-up-bert-5528e18bb4ea
AI研习社
2019/11/01
3.1K0
加速BERT模型:从架构优化、模型压缩到模型蒸馏
文本挖掘模型:本特征提取
文本挖掘模型结构示意图 1. 分词 分词实例: 提高人民生活水平:提高、高人、人民、民生、生活、活水、水平 分词基本方法: 最大匹配法、最大概率法分词、最短路径分词方法
机器学习AI算法工程
2018/03/12
1.5K0
文本挖掘模型:本特征提取
ISO/IEC软件质量模型中,质量特性及其子特性表
ISO/IEC软件质量模型中,易使用性是指与使用所需的努力由一组规定或隐含的用户对这样使用所作的个别评价有关的一组属性,其易使用性的子特性不包括( )。
红目香薰
2022/11/30
4140
从NT_NR数据库中提取子库
下载完解压缩,其中names.dmp和nodes.dmp两个文件很重要,是后续提取子库的基础
大发明家
2021/12/06
1.4K0
从NT_NR数据库中提取子库
估计宿主污染至少80%左右,因而就想通过一些方法,例如kraken、bowtie等把宿主污染去除。
花落花相惜
2021/11/26
6310
从Transformer到BERT模型
ELMo是一个语言模型,主要是做给定文本的Context,预测下一个词。ELMo最重要的一个特点是部分解决了一词多义的情况,没有完全解决哟!它为解决一词多义提供了一个很好的解决方案。像word2vec、glove提供的embedding是静态的,一旦训练完成embedding是不变的。而ELMo其实考虑更多的是Context的信息,对每一个词会给出3个embedding,这3个embedding可以看作是一个词的3个embedding特征,对3个embedding特征会添加三个位置,对于不同的任务会赋予不同的权重,最后根据权重把这三个embedding结合起来做向量平均,把合并后的embedding作为最后词的embedding。
Datawhale
2020/03/05
1.1K0
从Transformer到BERT模型
可以建立一个机器学习模型来监控另一个模型吗
从表面上看,这听起来很合理。机器学习模型也会出错。让我们利用这些错误,训练另一个模型来预测第一个模型的错误!有点像“信任探测器”,基于我们的模型过去的表现。
deephub
2021/07/01
6380
从Tensorflow模型文件中解析并显示网络结构图(CKPT模型篇)
本文介绍如何从CKPT模型文件中提取网络结构图并实现可视化。
superhua
2018/11/08
6.7K1
从Tensorflow模型文件中解析并显示网络结构图(CKPT模型篇)
从Tensorflow模型文件中解析并显示网络结构图(pb模型篇)
Tensorflow官方提供的Tensorboard可以可视化神经网络结构图,但是说实话,我几乎从来不用。主要是因为Tensorboard中查看到的图结构太混乱了,包含了网络中所有的计算节点(读取数据节点、网络节点、loss计算节点等等)。更可怕的是,如果一个计算节点是由多个基础计算(如加减乘除等)构成,那么在Tensorboard中会将基础计算节点显示而不是作为一个整体显示(典型的如Squeeze计算节点)。最近为了排查网络结构BUG花费一周时间,因此,狠下心来决定自己写一个工具,将Tensorflow中的图以最简单的方式显示最关键的网络结构。
superhua
2018/11/07
10.9K1
从Tensorflow模型文件中解析并显示网络结构图(pb模型篇)
从系统模型到软件模型:无缝过渡的方法
在软件开发生命周期中,从系统模型到软件模型的过渡是一项关键任务。系统模型关注整个系统的结构和行为,而软件模型更集中于软件组件的详细设计和实现。本文将介绍如何平滑地从系统模型过渡到软件模型,确保一致性和有效性。
运维开发王义杰
2023/08/10
2230
从系统模型到软件模型:无缝过渡的方法
Pytorch如何用预训练模型提取图像特征
方法很简单,你只需要将模型最后的全连接层改成Dropout即可。 import torch from torchvision import models # load data x, y = get_data() ... model = models.VGG16(pretrained=True) model.classifier = torch.nn.Dropout() feature = model(x) over。
marsggbo
2020/06/12
1.6K0
基于总变差模型的纹理图像中图像主结构的提取方法。
本文提出了一种基于总变差模型的纹理图像分割算法,并基于此算法进行了图像融合,同时探讨了图像矢量化和边缘提取。
用户1138785
2018/01/03
1.9K0
基于总变差模型的纹理图像中图像主结构的提取方法。
动态模型中嵌入静态模型实践
在之前的动态模型之动态增减【FunTester测试框架】中分享了动态的性能测试模型的实现,后面在实际工作中也是受益匪浅,有文为证动态压测模型让工作更轻松。
FunTester
2022/12/09
2440
从浅层模型到深度模型:概览机器学习优化算法
选自arxiv 机器之心编译 参与:乾树、蒋思源 学习算法一直以来是机器学习能根据数据学到知识的核心技术。而好的优化算法可以大大提高学习速度,加快算法的收敛速度和效果。该论文从浅层模型到深度模型纵览监
机器之心
2018/05/08
1.1K0
从浅层模型到深度模型:概览机器学习优化算法
从语言模型到ChatGPT,大模型调教全攻略
大数据文摘授权转载自夕小瑶的卖萌屋 作者:python 你是否想过,为什么ChatGPT能够如此火爆呢?我认为这主要是因为ChatGPT提供了好玩、有用的对话式交互功能,能够为用户提供帮助,而不仅仅是依靠“大”模型的魅力。毕竟,GPT-3在2020年就已经推出了,拥有175B的参数规模,但除了最初的热度之外,它并没有引起社会太多的关注。 那么,究竟是什么让ChatGPT能够生成相对客观且富有信息量的回答呢?研究者们基于预训练好的大规模语言模型,采用了多种调教手段,主要包括指令调整和基于人类反馈的对齐调整。这
大数据文摘
2023/04/21
5980
从语言模型到ChatGPT,大模型调教全攻略
eBay 开发新的推荐模型,从数据中挖掘商机
作者 | Claudio Masolo 译者 | 明知山 策划 | 丁晓昀 eBay 基于自然语言处理(NLP)技术,特别是 BERT 模型开发了一个新的推荐模型。这个被称为“Ranker”的新模型使用词袋之间的距离得分作为特征,从语义角度分析商品标题信息。与之前的模型相比,Ranker 帮助 eBay 将原生应用(Android 和 iOS)和 Web 平台上的购买、点击和广告指标分别提升了 3.76%、2.74% 和 4.06%。 eBay Promoted Listing Similar R
深度学习与Python
2023/03/29
6160
eBay 开发新的推荐模型,从数据中挖掘商机
模型部署从0到1
由于项目需要,kevin 要将模型放到手机里面去测试速度,于是乎写了这篇文章,记录这个过程。本来想尝试 ncnn 进行部署,然而流程有些复杂,于是乎在师兄的建议下先用 PyTorch 官方的 Mobile 模块试试,GitHub 仓库里面有很多详细的 demo 展示,直接 clone 下来就行了。
棒棒鸡不棒
2022/09/02
1K0
模型部署从0到1
AIPL模型|从分群到策略
AIPL模型 AIPL概念 AIPL模型主要用于对用户进行人群资产的量化,在分析用户的过程中,我们通常会用新用户和老用户进行划分。换一个角度我们也可以将用户划分成认知(Awareness)、兴趣(Interest)、购买(Purchase)、忠诚(Loyalty)类人群。每个人群内的用户,在产生了某种特殊行为之后就会转变他的人群属性。 AIPL划分 掌握了AIPL是什么,我们再来看一下如何去界定这些人群。 认知人群(A) 认知类人群的特点通常是“第一次”,当用户第一次了解到品牌/商品的时候就是一个认知的
数据山谷
2022/11/11
1.9K0
AIPL模型|从分群到策略

相似问题

从nls模型中提取循环模型参数

213

从模型中创建子对象

10

从关联模型中提取

20

从PartialView中提取模型

10

从scikit中提取模型

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文