Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >QML 用QSortFilterProxyModel实现搜索功能

QML 用QSortFilterProxyModel实现搜索功能

作者头像
饶文津
发布于 2020-06-02 07:07:32
发布于 2020-06-02 07:07:32
1.6K00
代码可运行
举报
文章被收录于专栏:饶文津的专栏饶文津的专栏
运行总次数:0
代码可运行

c++部分的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <QtQml>
...
#include "bookmodel.h"
int main(int argc, char *argv[])
{
    ...
    qmlRegisterType<BookModel>("Backend", 1, 0, "BookModel");//向qml注册类型

    BookModel *bookModel = new BookModel();//这是自己定义的类
    QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel();
    ...
    bookModel->read(io->text()["book"]);//io是自己定义的读取json的类
    QQmlApplicationEngine *engine = new QQmlApplicationEngine();

    proxyModel->setSourceModel(bookModel);
    //向qml传递变量
    engine->rootContext()->setContextProperty("bookModel", bookModel);
    engine->rootContext()->setContextProperty("proxyModel", proxyModel);

    engine->load(QUrl(QLatin1String("qrc:/main.qml")));

    return app.exec();
}

qml部分的代码: Search是自己写的一个搜索框

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import QtQuick 2.7
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.3
import QtQuick.Controls.Material 2.1
import QtQuick.Controls.Universal 2.1
import QtQuick.Window 2.1
import Backend 1.0
LDialog{//LDialog是自己修改过的的对话框Dialog
    title: "查找"
    width: 460
    height: 180
    signal search(int range, string text)
    Row{
        spacing: 20
        ComboBox{
            id: combo
            model:[qsTr("书名"),qsTr("出版社"),qsTr("作者"),qsTr("简介"),qsTr("购书日期"),qsTr("id"),qsTr("ISBN号"),qsTr("价格")]
        }
        TextField {
            id: word
            width: 200
        }
        Button {
            id: searchBtn
            text: qsTr("查找")

            onClicked: {
                var comap=new Array(BookModel.NameRole,BookModel.PublishRole,BookModel.AuthorRole,
                BookModel.BriefRole,BookModel.BuyTimeRole,BookModel.IdRole,
                    BookModel.IsbnRole,BookModel.PriceRole);//这里的Role是BookModel类里面的一个enum
                search(comap[combo.currentIndex],word.text);
            }
        }
    }
}

使用时:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Search{
        id: findBookDialog
        onSearch: {
            proxyModel.filterRole=range;//这个filterRole是proxyModel搜索的范围,也就是指定BookModel中的一个属性
            proxyModel.setFilterFixedString(text);//设置搜索内容
            bookView.model=proxyModel;//设置展示的内容为搜索筛选后的
        }
        onRejected: {//取消时显示原来的内容
            bookView.model=bookModel;
        }
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-04-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MISC杂项-隐写2-解题过程
 发现存在flag.rar,并且是一个rar压缩文件,为了确保咱们的猜想是正确的,咱们再用kali中的binwalk命令提取隐写在内的文件。
用户8909609
2023/10/17
6010
MISC杂项-隐写2-解题过程
Buu解题记录之misc(二)
提示:神秘龙卷风转转转,科学家用四位数字为它命名,但是发现解密后居然是一串外星人代码!!好可怕! 注意:得到的 flag 请包上 flag{} 提交
十二惊惶
2024/02/28
3160
Buu解题记录之misc(二)
BUUCTF 刷题笔记——Misc 1
提交 flag{dca57f966e4e4e31fd5b15417da63269} 即可。
h-t-m
2023/03/15
2.5K1
BUUCTF 刷题笔记——Misc 1
HSC-1th WP MISC
此处根据CRC校验,该图片于linux系统下或于手机下无法查看,Windows系统下正常,因为Windows系统忽略了CRC校验。
红客突击队
2022/09/29
5990
HSC-1th WP MISC
从CTF比赛真题中学习压缩包伪加密与图片隐写术【文中工具已打包】
先讲个笑话,刚刚打完MAR DASCTF明御攻防赛,一如往常,很轻松便拿到了两个flag(签到与问卷),哈哈,一个脑细胞都不用消耗
公众号爱国小白帽
2021/04/01
5.2K1
从CTF比赛真题中学习压缩包伪加密与图片隐写术【文中工具已打包】
BUU-Misc-第六章
这个文本里的加密方式很像佛曰那个加密方式,猜测应该是后续会用到的,先看看图片,丢到010editer里面看看: 这个文本编辑的真的很有观赏性,我把它贴出来:
Baige
2022/03/22
6620
BUU-Misc-第六章
BUGKU-MISC-皇家马德里
下载文件后,发现压缩包有密码 但是用360压缩可以解压,得到falg.zip和key.zip, 用HxD打开key.zip
R0A1NG
2022/02/19
3660
BUGKU-MISC-皇家马德里
buuctf_crypto部分wp(6.21更)
题目附件中给出的文档明确指出本题的考点,并且给了一个码表,我们需要对照给的密文和码表还原出原来的base64密文才能进行解密
回天
2023/04/25
4470
buuctf_crypto部分wp(6.21更)
[DASCTF 2020圣诞赛]Misc部分wp
题目下载下来是一个png图片,里面全是二维码,二维码内容大概就是马老师经典语句全文。
山深有杏
2024/01/30
1800
[DASCTF 2020圣诞赛]Misc部分wp
WHUCTF部分wp
签到题,下载附件得到一个.git的文件夹,正常情况下文件夹被隐藏,显示隐藏后可以看到,百度可知这个.git文件夹是创建git仓库时部署在本地的一个类似目录的东西
回天
2023/04/25
3760
WHUCTF部分wp
【愚公系列】2021年11月 攻防世界-进阶题-MISC-056(miscmisc)
文章目录 一、miscmisc 二、答题步骤 1.Zip,HXD 2.明文攻击Advanced Zip Password Recover 3.StegSolve 总结 ---- 一、miscmisc
愚公搬代码
2021/12/03
4750
【愚公系列】2021年11月 攻防世界-进阶题-MISC-056(miscmisc)
BUU-Misc-第一章
开席了家人们,上周我大概是5100+位次,国庆玩了几天,直接跌倒6500了,啥也不说了,开始刷题。 这里感谢海师傅对我的关切提醒⏰海师傅 2021.10.4 开始我的/Misc刷题之旅吧!
Baige
2022/03/22
5310
BUU-Misc-第一章
ACTF2020部分wp
再看绕过md5,由于是===,所以无法用0e开头的字符串绕过,但是可以用数组绕过,参考文章
回天
2023/04/25
3610
ACTF2020部分wp
[工具分享]CTF杂项工具分享
工具均从网络上收集,请大家尊重工具原作者,如需二次开发或用作商业用途,请联系工具原作者。
山深有杏
2024/01/30
1.2K0
如何在CTF中少走弯路(基础篇)
自己并不是专业的赛棍也没有打过很多比赛,这篇文章是自己在CTF中对于杂项这块知识学习的小结,希望可以对初入CTF的同学有所帮助,在CTF中少走弯路从而更快的提升自己。 一、流量分析篇 通常比赛中会提供一个包含流量数据的 PCAP 文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。 PCAP 这一块作为重点考察方向,复杂的地方在于数据包里充满着大量无关的流量信息,因此如何分类和过滤数据是参赛者需要完成的工作。 概括来讲在比赛中的流量分析有以下三个方向: 1、流量包修复 2、协议分析 3、数据提
FB客服
2018/04/17
8.2K1
如何在CTF中少走弯路(基础篇)
CTF BugKu平台—(MISC篇①)
既然是社工那肯定不是使用工具去看图片 ,换个思路 百度识图找一下大概是在哪是 — “西安的大雁塔”
落寞的鱼丶
2021/12/13
9910
Misc相关笔记(7.23更)
png文件的16进制文件头格式为 89 50 4E 47 0D 0A 1A 0A
回天
2023/04/25
1K0
Misc相关笔记(7.23更)
BJDCTF2020
一个简单的隐写题目, 压缩包里面有个hello.zip,用winhex打开,可以知道这是一张图片,改成png,打开发现是一个二维码,扫二维码得到flag:xaflag{i_am_a_tupian}
十二惊惶
2024/02/28
1380
MISC基础题-攻防世界
引言:这里是我做的攻防世界-misc-基础题的一些writeup,希望能够大家一些参考,部分解题思路借鉴了其他博主,如果哪些地方有问题或更好的思路,可以一起探讨。 所用环境以及做题思路只在当时写下writeup时适用,若之后做出改动可与我联系,做出相应更改。
Baige
2022/03/07
1.6K0
MISC基础题-攻防世界
攻防世界_misc部分wp
下载后解压得到一张图片,扔进binwalk后得到两张看起来一样的图片和一个hint.txt,打开txt文件看到
回天
2023/04/25
1.1K0
攻防世界_misc部分wp
相关推荐
MISC杂项-隐写2-解题过程
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验