software_manager.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:software_manager 作者: GrandLoong 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号