怎么用Python设计一个多功能办公小工具
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要讲解了"怎么用Python设计一个多功能办公小工具",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python设计一个多功能办公小工具
千家信息网最后更新 2024年11月23日怎么用Python设计一个多功能办公小工具
这篇文章主要讲解了"怎么用Python设计一个多功能办公小工具",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python设计一个多功能办公小工具"吧!
UI排版布局
主页通过分页栏来划分不同的界面,以及窗体最小化,最大化,关闭功能。
应用、网页直达页由简单的按钮组成,前后对正、左右标齐。
天气查询栏,有简单的"按钮、输入框、标签框"组成。
界面美化方面采用的是"插画"的元素,因为放入一整张照片不仅会填充整个界面,而且也很不好看。
图形界面的设计思想
图形界面我采用的是Python自带的tkinter库,我认为图形界面的学习并不是难的,当你熟练之后,你就会发现,他就是一个"窗口+部件+函数"的一个流程,窗口为我们进一步的设计提供好"容器",部件为我们所实现的功能打下"基础",而函数则是我们通过按钮的触发所实现的"功能"。
实现步骤
界面布局
from tkinter import *from tkinter import messageboxfrom tkinter import ttkimport osimport webbrowserimport urllib.request #发送网络请求,获取数据import gzip #压缩和解压缩模块import json #解析获得的数据import tkinter as tkimport randomfrom PIL import Image, ImageTkimport globimport shutil TOP6 = Tk()TOP6.geometry("630x775") TOP6.iconbitmap('宁宁图标工具.ico')#指定图标 TOP6.title('宁宁小助手') tab_main=ttk.Notebook(TOP6)#创建分页栏tab_main.place(relx=0, rely=0, width=630, height=774) tab1=Frame(tab_main,width=400, height=300)#创建第一页框架 tab1.place(x=0,y=30)tab_main.add(tab1,text='学习⚡通讯')#将第一页插入分页栏中 image1 = Image.open('Card Payment_Outline(1).png')pyt1 = ImageTk.PhotoImage(image1)label2 = Label(tab1, image=pyt1)label2.place(x=0,y=500) image2 = Image.open('CPU_Two Color.png')pyt2 = ImageTk.PhotoImage(image2)label2 = Label(tab1, image=pyt2)label2.place(x=200,y=100) image3 = Image.open('AR_Outline.png')pyt3 = ImageTk.PhotoImage(image3)label2 = Label(tab1, image=pyt3)label2.place(x=0,y=0) BUTTON = Button(tab1, fg='black',bd=5, text="ℒQQ",width = 20,command = QQ, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=30,y=50) BUTTON = Button(tab1, bd=5, fg='black',text="ℒ微信",width = 20,command = WeChat, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=380,y=50) BUTTON = Button(tab1, fg='black', bd=5, text="✎AE",width = 10,command = AE, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=450,y=200) BUTTON = Button(tab1, fg='black', bd=5, text="✎PR",width = 10,command = PR, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=250,y=200) BUTTON = Button(tab1, fg='black', bd=5, text="✎剪映",width = 10,command = jian_ying, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=50,y=200) BUTTON = Button(tab1, fg='black', bd=5, text="✎WPS",width = 10,command = WPS, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=50,y=280) BUTTON = Button(tab1, fg='black', bd=5, text="✎剪映",width = 10,command = jian_ying, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=250,y=280) BUTTON = Button(tab1, fg='black', bd=5, text="✎百度网盘",width = 10,command = wangpan, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=250,y=280) BUTTON = Button(tab1, fg='black', bd=5, text="✎BiBili",width = 10,command = bili, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=450,y=280) BUTTON = Button(tab1, fg='black', bd=5, text="✎百度C一下",width = 10,command = baidu, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=250,y=360) BUTTON = Button(tab1, fg='black', bd=5, text="✎学习通",width = 10,command = xue_tong, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=50,y=360) BUTTON = Button(tab1, fg='black', bd=5, text="✎湘大教育",width = 10,command = xiangda, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=450,y=360) BUTTON = Button(tab1, fg='black', bd=5, text="QQ游戏",width = 10, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=250,y=500) BUTTON = Button(tab1, fg='black', bd=5, text="网易云音乐",width = 10, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=50,y=500) BUTTON = Button(tab1, fg='black', bd=5, text="腾讯视屏",width = 10, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=450,y=500) BUTTON = Button(tab1, fg='black', bd=5, text="爱奇艺",width = 10, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=250,y=570) tab2=Frame(tab_main)tab2.place(x=100,y=30)tab_main.add(tab2,text='天气❤助手') image4 = Image.open('Weather_Isometric.png')pyt4 = ImageTk.PhotoImage(image4)label2 = Label(tab2, image=pyt4)label2.place(x=0,y=0) size_str=StringVar()habits = tk.LabelFrame(tab2, text="相比于蓝天,我更想选择阳菜", padx=0, pady=0 ) # 水平,垂直方向上的边距均为 10habits.place(x=45,y=450)habits_Window = Label(habits,textvariable=size_str, width=60, height=15, font=('楷体', 13))habits_Window.grid() label1 = StringVar()input_name = Label(tab2, text='☼☁❅请输入您想要查询的城市☼☁❅', font=('楷体', 14)).place(x=160, y=20)entry = Entry(tab2, bg='#ffffff', width=20, textvariable=label1, font=('楷体', 13)).place(x=223, y=72) right_data_button = Button(tab2,fg='#696969', text="C一下",width = 10,command = show_data, font=('黑体', 13)).place(x=260, y=125) tab3=Frame(tab_main)tab3.place(x=200,y=30)tab_main.add(tab3,text='文件✪整理')BUTTON = Button(tab3, fg='#696969', bd=5, text="桌面端文件整理",width = 20,command = zhengli, font=("黑体", 14))BUTTON.grid(row=5, column=0, sticky=W)BUTTON.place(x=200,y=50) TOP6.mainloop()
"直达"函数
- 应用直达
def QQ(): def open_app(app_dir): os.startfile(app_dir) if __name__ == "__main__": app_dir = r'"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"' open_app(app_dir)
只需要替换"app_dir = '链接"中的链接即可。下面我给大家梳理一下如何获取本机应用的目标位置。
首先左键点击应用"属性",找到"快捷方式"一栏中的"目标",将路径完整粘贴下来即可。
- 网页直达
def xue_tong(): webbrowser.open('http://passport2.chaoxing.com/login?fid=&newversion=true&refer=http%3A%2F%2Fi.chaoxing.com')
只需要替换" webbrowser.open()中的链接即可。
"天气"函数
"相比于蓝天,我更想选择阳菜"
def show_data():#显示数据 my_heart=['能遇见你真是太好了','不管晴天还是雨天,我只是想和你相遇','我只是想再一次的见到你啊','无论你在哪里,我一定拼尽全力去见你','我从来不知道,渴望蓝天的人居然有那么多','100%的晴天女孩?','那年夏天,在那个天空之上的我们'+'\n\n'+' 把这个世界的样貌,彻底的改变了。','天气真的是很不可思议,光只是天空的模样就让人感动不已。','你找到了我存在的意义,谢谢你;生活不是一帆风顺,'+'\n\n'+'总有磨难在前阻挡,我们要学会坚强努力活在这个世界中,'+'\n\n'+'遇见了你我有了依靠明白了存在的价值,谢谢你的陪伴!','有时天边有黑云,而且云片很厚,'+'\n\n'+'太阳出来,人眼还看不见,然而太阳在黑云里放射的光芒,'+'\n\n'+'透过黑云的重围,提黑云镶了一道发光的金边。'+'\n\n'+'后来太阳才慢慢地冲出重围,出现在天空,'+'\n\n'+'甚至把黑云也染成了紫色或者红色,'+'\n\n'+'这时候发光的不仅是太阳,云和海水,连我自己也成了明亮的了。'] index= random.randint(0,len(my_heart)-1) size_content = my_heart[index] size_str.set(size_content) city_name1 = get_city_name1() url1 = 'http://wthrcdn.etouch.cn/weather_mini?city='+urllib.parse.quote(city_name1) url2 = 'http://wthrcdn.etouch.cn/weather_mini?citykey=101010100' #网址1只需要输入城市名,网址2需要输入城市代码 #print(url1) weather_data = urllib.request.urlopen(url1).read() #读取网页数据 weather_data = gzip.decompress(weather_data).decode('utf-8') #解压网页数据 weather_dict = json.loads(weather_data) #将json数据转换为dict数据 if weather_dict.get('desc') == 'invilad-citykey': print(messagebox.askokcancel("提示","你输入的城市名有误,或者天气中心未收录你所在城市")) else: forecast = weather_dict.get('data').get('forecast')#获取数据块 root1=Tk()#副窗口 root1.iconbitmap('宁宁图标工具.ico')#指定图标 root1.geometry('650x280')#修改窗口大小 root1.title(city_name1 + '天气状况')#副窗口标题 #设置日期列表 for i in range(5):#将每一天的数据放入列表中 LANGS = [(forecast[i].get('date'),'日期'), (forecast[i].get('fengxiang'),'风向'), (str(forecast[i].get('fengji')),'风级'), (forecast[i].get('high'),'最高温'), (forecast[i].get('low'),'最低温'), (forecast[i].get('type'),'天气')] group = LabelFrame(root1,text = '天气状况',padx = 0,pady = 0)#框架 group.pack(padx=11,pady=0,side = LEFT)#放置框架 for lang, value in LANGS:#将数据放入框架中 c = Label(group,text = value + ': ' + lang) c.pack(anchor = W) Label(root1,text = '今日' + weather_dict.get('data').get('ganmao'), fg = 'green').place(x=40,y=20,height=40)#温馨提示 Label(root1,text = "天气因你逆转,世界因你天晴。",fg = "green",bg = "yellow").place(x=10,y=255,width=160,height=20) root1.mainloop()
通过random函数实现随机文案的选择
my_heart=['能遇见你真是太好了','不管晴天还是雨天,我只是想和你相遇','我只是想再一次的见到你啊','无论你在哪里,我一定拼尽全力去见你','我从来不知道,渴望蓝天的人居然有那么多','100%的晴天女孩?','那年夏天,在那个天空之上的我们'+'\n\n'+' 把这个世界的样貌,彻底的改变了。','天气真的是很不可思议,光只是天空的模样就让人感动不已。','你找到了我存在的意义,谢谢你;生活不是一帆风顺,'+'\n\n'+'总有磨难在前阻挡,我们要学会坚强努力活在这个世界中,'+'\n\n'+'遇见了你我有了依靠明白了存在的价值,谢谢你的陪伴!','有时天边有黑云,而且云片很厚,'+'\n\n'+'太阳出来,人眼还看不见,然而太阳在黑云里放射的光芒,'+'\n\n'+'透过黑云的重围,提黑云镶了一道发光的金边。'+'\n\n'+'后来太阳才慢慢地冲出重围,出现在天空,'+'\n\n'+'甚至把黑云也染成了紫色或者红色,'+'\n\n'+'这时候发光的不仅是太阳,云和海水,连我自己也成了明亮的了。'] index= random.randint(0,len(my_heart)-1) size_content = my_heart[index] size_str.set(size_content)
感谢各位的阅读,以上就是"怎么用Python设计一个多功能办公小工具"的内容了,经过本文的学习后,相信大家对怎么用Python设计一个多功能办公小工具这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
黑体
天气
数据
黑云
太阳
界面
工具
设计
只是
天空
学习
世界
函数
城市
输入
多功能
办公
图标
晴天
框架
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河北定制网络技术服务哪个正规
sql数据库中日期
贵州服务器代理商
无线网络安全现状的分析
检索体育类专题数据库
信阳软件开发参考价
维护网络安全手抄报图片
网络安全指导检讨书
电力网络安全招标
python的数据库
k8s服务器时间不同步
怎么看邮箱服务器地址
吉林大规模软件开发管理模式
苹果手机虚拟服务器搭建
数据库复合关系运算符
计算机网络安全专业如何
服务器硬件优势介绍
昆明组态软件开发
网络技术和网络安全的关系
GEN数据库
暗黑三拍卖行哪个服务器最多
国三网络技术教学视频
梅河口租房网络安全
目前网络安全的调查分析
网络安全创新决赛
义乌易海网络技术服务
中国环境信息披露数据库
莆田跑腿app软件开发费用
租房的网络技术
云南省网络技术培训