Tkinter小项目:用Python写一个地址收藏管理工具,迅速提高你的工作效率

发布时间:2024-11-20 04:07

使用项目管理工具,提高效率。 #生活技巧# #职场沟通技巧# #工作报告撰写#

最新推荐文章于 2024-09-13 21:03:01 发布

turbobin 于 2018-10-14 11:59:15 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

如何管理杂乱的电脑桌面和一大堆的浏览器收藏网址?我用python写了一个工具,迅速提高工作效率。

工作了一段时间发现,电脑桌面上已经满屏的常用软件、常用项目文件夹的快捷方式,一大堆的常用文档,浏览器上收藏的工作网址更是有100+,通常想打开一个文档、网址要寻找半天,有没有方法可以集中管理这些地址呢?
我用python tkinter + webbrowser写了一个地址收藏工具



功能:

关键字搜索,字母不区分大小写。 添加:URL网址,本地软件路径,本地文档路径 双击/敲回车键快捷打开 选中删除 修改:可使用添加功能,支持同名覆盖

原理:

导入库
tkinter,webbrowser均为python标准库,不需要另外安装

import tkinter as tk import json import webbrowser from tkinter import messagebox from tkinter import * 12345'

使用python自带界面开发库tkinter开发基本界面

if __name__ == '__main__': root = Tk() # 构造窗体 root.title('Open Everything') # 标题 root.iconbitmap('opentool.ico') # 加载图标 root.resizable(0,0) # 固定窗口大小 app = Application(master=root) 1234567

读取json文件,加载数据到Listbox

self.urllist = self.readUrlList() # 获取列表 if self.urllist: self.createWidgets() self.mainloop() else: messagebox.showinfo('Error','读取地址列表失败!请查看openlist.json文件是否存在并且格式正确。') 1234567

# 加载地址列表 for item in self.urllist: self.listbox.insert(END, item) # 从尾部插入 123

添加事件处理

def doevent(self): self.keywdbox.bind("<Return>",self.showlist) # 按回车键,显示搜索结果 self.keywdbox.bind("<BackSpace>",self.showlistAll) self.listbox.bind('<Double-Button-1>',self.openurl) # 双击打开地址 self.listbox.bind('<Return>',self.openurl) # 按Enter键打开地址 12345'

使用webbrowser.open(url)方法打开路径.
这个方法比较强大,如果是http地址,会直接在浏览器中打开,如果是本地地址,会直接打开本地的软件/文件夹/文档等

def openurl(self,event): urlname = self.listbox.get(self.listbox.curselection()) url = self.urllist[urlname] # 根据key值获取对应url值 if url is not None and url != '': webbrowser.open(url) else: messagebox.showinfo('Error !', '打开地址失败!地址为空。') 12345678'

搜索功能
搜索功能实现比较简单,遍历字典key值,判断关键字是否存在key中

def showlist(self, event): keywd = self.keywdbox.get().strip() if keywd: self.listbox.delete(0, END) # 先做清空列表动作 for item in self.urllist: if keywd.lower() in item.lower(): # 判断关键字是否存在字典key中 self.listbox.insert(END, item) # 加载搜索结果 12345678'

退出软件时重新保存json文件

def savaUrllist(self): with open('openlist.json', 'w', encoding='utf-8') as f: json.dump(self.urllist,f, ensure_ascii=False, indent=2) print('文件保存成功。') 12345'

打包软件
win下使用pyinstaller
Mac下使用py2app

使用教程

获取软件和源码:
GitHub地址:https://github.com/turbobin/Open-Manager

下载OpenTool.exe,解压到本地路径即可使用。

更新 – 20180916 Thinks for @CYDROM’s pull requests

更新点:

增加实时查询:输入中开始查询;拼音查询,拼音首字母查询:全拼或拼音首字母查询; 安装第三方包pip install pypinyin

from pypinyin import Style import pypinyin ......def showlist(self, event): keywd = self.keywdbox.get().strip() if keywd: self.listbox.delete(0, END) # print(urllist) for item in self.urllist: if (keywd.lower() in item.lower()) or (keywd.lower() in pypinyin.slug(item.lower(), separator='') or (keywd.lower() in pypinyin.slug(item.lower(),style=Style.FIRST_LETTER,separator=''))): self.listbox.insert(END, item) # 加载搜索结果 else: self.listbox.delete(0, END) for item in self.urllist: self.listbox.insert(END, item) # 空字符时,加载所有列表

12345678910111213141516 方向键快捷键:输入框中按 Down键,进入条目区,条目区按下Left键返回搜索框;

优化:

打开时光标定位到搜索框打开添加子窗口时,光标定位到输入框,并使根窗口失效(不可点击)

PS:本文首发于 [Python中文社区] 公众号,现开通了个人公众号,故重发于此。
欢迎关注。
在这里插入图片描述

网址:Tkinter小项目:用Python写一个地址收藏管理工具,迅速提高你的工作效率 https://www.yuejiaxmz.com/news/view/147901

相关内容

10个提高工作效率的超实用工具
6个 Python 办公黑科技,工作效率提升100倍!(附代码)
最受欢迎的11个Python编程软件,工作效率直接起飞!
提高工作效率的 5 个 Windows 11 工具
9种方法提高工作效率,一分钟教你提高工作效率,提高工作效率的措施和技巧,提升工作效率的3个好方法
迅速提升自我效率的十大方法
Python制作生活工具
如何提高工作效率,提高工作效率的方法?
如何快速提高工作效率的十个实用技巧
5 个自动化生活的 Python 项目:从初学者到高级

随便看看