У меня есть QListView
, который отображает список элементов, используя PyQt в Python. Как я могу заставить его возвращать определенный элемент qlistview при поиске?Как я могу найти Qlistview для поиска в pyqt
Например, если у меня есть следующие Qlistview
с 4 элементами, как я могу получить элемент, который содержит text = dan? или довести его до вершины списка. Кроме того, поиск не обязательно должен быть полностью конкретным. Если я наберу «да», я бы хотел, чтобы он возвращал дан или элементы, которые начинаются с «да», и, возможно, доведите его до верхней части списка
Мой QListView определяется следующим образом:
from PyQt4 import QtCore, QtGui
import os
import sys
class AppView(QtGui.QDialog):
def __init__(self, parent=None):
super(AppView, self).__init__(parent)
self.resize(400, 400)
self.ShowItemsList()
def ShowItemsList(self):
self.setWindowTitle("List")
buttonBox = QtGui.QDialogButtonBox(self)
buttonBox.setOrientation(QtCore.Qt.Horizontal)
buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok)
listview = QtGui.QListView(self)
verticalLayout = QtGui.QVBoxLayout(self)
verticalLayout.addWidget(listview)
verticalLayout.addWidget(buttonBox)
buttonBox.accepted.connect(self.close)
model = QtGui.QStandardItemModel(listview)
with open("names-list.txt") as input:
if input is not None:
item = input.readlines()
for line in item:
item = QtGui.QStandardItem(line)
item.setCheckable(True)
item.setCheckState(QtCore.Qt.PartiallyChecked)
model.appendRow(item)
listview.setModel(model)
listview.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
view = AppView()
view.show()
sys.exit(app.exec_())