pyqt之类listviw中查找内容(网友提供)

from PyQt4 import QtCore

from PyQt4 import QtGui

class SimpleListModel(QtCore.QAbstractListModel):

def __init__(self, contents):

super(SimpleListModel, self).__init__()

self.contents = contents

def rowCount(self, parent):

return len(self.contents)

def data(self, index, role):

if role == QtCore.Qt.DisplayRole:

return str(self.contents[index.row()])

class Window(QtGui.QWidget):

def __init__(self, parent=None):

super(Window, self).__init__(parent)

data = [‘Red1‘, ‘Red2‘, ‘Blue‘, ‘Yellow‘]

self.model = SimpleListModel(data)

self.view = QtGui.QListView(self)

self.proxy = QtGui.QSortFilterProxyModel(self)

self.proxy.setSourceModel(self.model)

self.proxy.setDynamicSortFilter(True)

self.proxy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

self.view.setModel(self.proxy)

self.search = QtGui.QLineEdit(self)

self.search.setFocus()

layout = QtGui.QGridLayout()

layout.addWidget(self.search, 0, 0)

layout.addWidget(self.view, 1, 0)

self.setLayout(layout)

# Connect search to proxy model

self.connect(self.search, QtCore.SIGNAL(‘textChanged(QString)‘),

self.proxy.setFilterFixedString)

# Moved after connect for self.proxy.setFilterFixedString

self.connect(self.search, QtCore.SIGNAL(‘textChanged(QString)‘),

self.force_selection)

self.connect(self.search, QtCore.SIGNAL(‘returnPressed()‘),

self.output_index)

# @QtCore.Slot(QtCore.QModelIndex)

@QtCore.pyqtSlot(str)

def force_selection(self, ignore):

""" If user has not made a selection, then automatically select top item.

"""

selection_model = self.view.selectionModel()

indexes = selection_model.selectedIndexes()

if not indexes:

index = self.proxy.index(0, 0)

selection_model.select(index, QtGui.QItemSelectionModel.Select)

def output_index(self):

print ‘View Index:‘,self.view.currentIndex().row()

print ‘Selected Model Current Index:‘,self.view.selectionModel().currentIndex()

print ‘Selected Model Selected Index:‘,self.view.selectionModel().selectedIndexes()

if __name__ == ‘__main__‘:

import sys

app = QtGui.QApplication(sys.argv)

window = Window()

window.show()

sys.exit(app.exec_())

时间: 2024-10-06 13:11:36

pyqt之类listviw中查找内容(网友提供)的相关文章

SQL Server全库搜索(在所有表中查找内容)

SQL Server版本:SQL Server2008某个内容到底存储在数据库的哪个地方?无从下手时,可以使用全库查找.SQL Server在整个库的所有表的所有字段中查找内容,用到了临时表,游标循环. declare @Str nvarchar(max), @tableName varchar(50), @colName varchar(50), @rowCount int select a.name tableName, b.name Colname, 0 as IsFound into #

[转]grep 在文本中查找内容

转自: http://www.lampweb.org/linux/3/27.html 功能:grep系列是Linux中使用频率最高的文本查找命令.主要功能在一个或者多个文件中查找特定模式的字符串.如果该行有匹配的字符串,则输出整个行的内容.如果没有匹配的内容,则不输出任何内容.grep命令不改动源文件.Linux的grep家族包括grep.egrep.fgrep.rgrep.grep可以通过-G.-E.-F命令行选项来使用egrep和fgrep的功能. 语法:grep [选项] PATTERN

【Linux】用grep在文档中查找内容

有时候,我们需要在文档中查找一些内容,常用grep.它在文档查找相关内容并输出匹配行. > 查找某关键字 在system.log中,查找包含keyword的行 grep 'keyword' system.log 查找时附带输出行号,方便查看 grep -n 'keyword' system.log > 默认支持基本正则表达式 查找以2015-09-24开头的行 grep '^2015-09-24' system.log > 支持扩展正则表达式 正则表达式应用在各个领域,用它配合grep查

linux命令---查找文件中的内容

linux命令---查找文件中的内容 [[email protected] ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者second的行 first line:123456789012345678901234567890123456789012345678901234567890 second line:one two three four five six seven eight nine ten [[email pro

ios中,在SearchBar里面搜索内容,可根据内容来查找所需的信息资源,可获得SearchBar中的内容

贴一段我很久以前写的小demo,你们就明白了,是把textField套在alertView里的@interface ViewController : UIViewController <UIAlertViewDelegate, UITextFieldDelegate>{ UILabel *la; UITextField *myTextField;} @implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; l

处理文件,用户指定要查找的文件和内容,讲文件中包含要查找内容的每一行都要输出到屏幕

处理文件,用户指定要查找的文件和内容,讲文件中包含要查找内容的每一行都要输出到屏幕: 预先有一个名为 cars.py 的文件,其内容为: cars = ['honda','yamaha','suzuki'] print(cars) cars[0] = 'ducati' print(cars) cars.append('马大哈') print(sorted(cars)) print(cars) 接下来写生成代码: def check_file(): # 创建一个名为 check_file 的生成器

Centos中查找文件、目录、内容

1.查找文件 1 find / -name 'filename' 2.查找文件夹(目录) 1 find / -name 'path' -type d 3.查找内容 1 find . | xargs grep -ri 'content' 3.1.只显示文件名称 1 find . | xargs grep -ril 'content' 只显示文件名称 原文地址:https://www.cnblogs.com/du-jun/p/12228929.html

Linux在所有文件中查找和替换

经常会碰到这样的情况:查找某个目录下所有包含某个字符串的所有文件,并将这些文件中的这个字符串用另外的字符串替换进行替换.这种情况下,网网要检查的文件比较多,逐一进行检查替换太麻烦,这个时候,我们就应该找一个能够一条命令解决问题的方法. 1.grep命令 grep pattern file.txt命令默认的行为是将file.txt文件中,匹配pattern的行输出到标准输出.这个功能能帮助我们在文件中查找一个字符串出现的上下文,但是并不能够帮助我们实现下一步复杂的操作,所以有必要稍微了解下grep

学underscore在数组中查找指定元素

前言 在开发中,我们经常会遇到在数组中查找指定元素的需求,可能大家觉得这个需求过于简单,然而如何优雅的去实现一个 findIndex 和 findLastIndex.indexOf 和 lastIndexOf 方法却是很少人去思考的.本文就带着大家一起参考着 underscore 去实现这些方法. 在实现前,先看看 ES6 的 findIndex 方法,让大家了解 findIndex 的使用方法. findIndex ES6 对数组新增了 findIndex 方法,它会返回数组中满足提供的函数的