def search_software(self):
self.software_commands.clear()
result = []
soft_name = self.search_text.text()
pattem = '.*?'.join(soft_name.lower())
regex = re.compile(pattem)
Manager.sort_data(self.data)
for software_name in self.data.keys():
match = regex.search(software_name.lower())
if match:
result.append((len(match.group()), match.start(), software_name))
if result:
sorted_result = [x for _, _, x in sorted(result)]
for r in sorted_result:
icon_name = self.data[r]['icon']
if icon_name:
image_path = pathjoin(self.app_dir, 'resources', icon_name)
else:
image_path = pathjoin(self.app_dir, 'resources', 'default_software_icon.png')
if not os.path.isfile(image_path):
image_path = pathjoin(self.app_dir, 'resources', 'default_software_icon.png')
image = QtGui.QIcon(image_path)
layer_item = QtGui.QListWidgetItem(image, r)
describe_msg = 'Describe:\n\t{0}\nPath:\n\t{1}'.format(r,
self.data[r].get('path'))
layer_item.setToolTip(describe_msg)
layer_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
self.software_commands.addItem(layer_item)
评论列表
文章目录