QListWidget 文字列フィルタリングしてみる
文字列でフィルタリングできるリストビューがあれば
人生の複雑な状況も整理できるかもしれない
# conding: utf-8 import sys from PySide.QtCore import * from PySide.QtGui import * class MyListWidget(QWidget): def __init__(self, data, parent=None): super().__init__(parent) layout = QVBoxLayout() self.__filter = QLineEdit() self.__lsview = QListWidget() self.setLayout(layout) layout.addWidget(self.__filter) layout.addWidget(self.__lsview) self.__filter.textChanged.connect(self.__refresh) self.__data = data self.__refresh() def __refresh(self): self.__lsview.clear() # 文字列でフィルタリング s = self.__filter.text() for d in self.__data: if len(s) > 0 and s not in d: continue self.__lsview.addItem(QListWidgetItem(d)) # entry point if __name__ == '__main__': myapp = QApplication(sys.argv) widget = QWidget() layout = QHBoxLayout(widget) # ややこしいデータを挿入する mylist = MyListWidget(( '俺がお前でお前が俺で嫁は関係ない', '俺は俺でお前はお前で嫁は嫁だからあんまり関係ない', 'お前のものは俺のもので俺のものは嫁のもの', '俺もお前でお前も俺で嫁は関係ない', '俺もお前もあいつもこいつも嫁も関係ない', '俺とお前が嫁で嫁は実は婿だった訳だ', 'お前の嫁が俺の嫁なわけがない', 'えっ?俺がお前の嫁なの?')) widget.setLayout(layout) layout.addWidget(mylist) widget.show() sys.exit(myapp.exec_())
駄目でした