Python3+PyQt5基础(一)实现QListView搜索过滤问题

1.本文要解决的问题:通过模糊查询检索过滤QListView中的内容

2.解决方法:

1)通过python的列表list数据转换为QStringListModel

self.strlist = ['aa1','ab1','aab1', 'bcb2', 'cc3', 'dd4', 'ee5', 'fff6', 'ggggg6']
    def initData(self):
        self.model = QStringListModel(self)
        self.model.setStringList(self.strlist)
        self.listView.setModel(self.model)
        self.lineEdit.textChanged[str].connect(self.searchdo)
        self.listView.clicked.connect(self.showmess)

2)字符串对list检索过滤,并将新的QStringList赋值给QStringListModel

    def searchdo(self,str):
        print(str)
        self.tmplist = []
        for ttstr in self.strlist:
            if str in ttstr:
                self.tmplist.append(ttstr)
        print(self.tmplist)
        self.model.setStringList(self.tmplist)

总结:重点在于1)如何将python的列表类型变为QStringListModel

           2)如何实现PyQt5的QListView的过滤

下一篇将实现:Python3+PyQt5基础(二)如何通过QListView当前所在行获得其背后的多列信息_菜鸟得财的博客-CSDN博客

项目源码下载说明:两篇博文的源码集中在一个项目中

 

 源码下载地址:https://download.csdn.net/download/gui818/85293181icon-default.png?t=M3K6https://download.csdn.net/download/gui818/85293181

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿桂天山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值