Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import fnmatch
- from PySide.QtCore import *
- from PySide.QtGui import *
- class Ui_MainWindow(QWidget):
- def __init__(self, parent=None):
- super(Ui_MainWindow, self).__init__(parent)
- self.setupUi()
- def setupUi(self):
- self.file_list = []
- self.filter_label = QLabel('Filter:')
- self.filter_line_edit = QLineEdit()
- self.main_list_W = QListWidget()
- self.total_label = QLabel('0')
- grid = QGridLayout()
- grid.setSpacing(10)
- grid.addWidget(self.filter_label, 1, 0)
- grid.addWidget(self.filter_line_edit, 1, 1)
- grid.addWidget(self.main_list_W, 2, 1, 4, 1)
- grid.addWidget(self.total_label, 5, 0)
- self.setLayout(grid)
- self.setGeometry(300, 300, 350, 300)
- self.filter_line_edit.textChanged[str].connect(self.on_text_change)
- self.show()
- self.do_shit(self)
- def do_shit(self, window):
- with open('every.txt') as f:
- self.file_list = f.read().splitlines()
- f.close()
- self.main_list_W.addItems(self.file_list)
- self.total_label.setText(str(len(self.file_list)))
- def on_text_change(self, text):
- self.main_list_W.clear()
- filtered = fnmatch.filter(self.file_list, '*{}*'.format(text))
- self.main_list_W.addItems(filtered)
- self.total_label.setText(str(len(filtered)))
- if __name__ == "__main__":
- app = QApplication(sys.argv)
- ui = Ui_MainWindow()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement