python qrcode生成二维码,python如何生成二维码
最近一直在进行计算机编程语言的学习目前还属于初级阶段,正好学习到了图像使用者界面部分,tkinter这部分确实还是蛮需要联系的,于是就从网上找到了这么一个小程序的创意,制作个性二维码,主要就是有一个图片背景的二维码:
功能实现部分主要还是通过我的二维码库来实现,实际上myqr.run()一个函数就可以实现功能,所以用来练习图形界面的使用还是不错的。
还是没有多好看,但是总归来说,自己还是比较满意自己的进步的。
上代码:
从我的二维码导入我的二维码从图形界面导入*导入tkinter.messageboximport导入tkinter。文件对话框导入操作系统#背景图片浏览功能def browse _ picture():fileName=tkinter。文件对话框。askopenfilename()文件名_图片。设置(文件名)#保存路径浏览功能def browse _ save():fileName=tkinter。文件对话框。asksaveasfilename()(文件路径,名称)=OS。路径。拆分(文件名)文件名_保存。设置(文件路径)全局临时文件名tempfilename=name#生成功能def generate():内容=E1。get()背景=E2。get()保存位置=E3。get()try:if background== :myqr。run(words=content,save_dir=save_location,save_name=tempfilename,colorized=True)else:myqr。run(words=content,save_dir=save_location,picture=background,save_name=tempfilename,colorified=True)except value error as reason:tkinter。messagebox。显示错误(标题=错误,message=reason)root=Tk()root。标题(个性二维码)#标题root.resizable(0,0)#不可调整大小临时文件名=#文本部分Label(root,text=链接内容:).网格(row=0,padx=5)标签(root,text=图片背景:).网格(row=1,pady=10)标签(root,text=保存路径:).grid(row=2,padx=5)#输入框部分fileName _ picture=string var()fileName _ save=string var()E1=Entry(root,width=40)e2=Entry(root,width=40,文本变量=fileName _ picture)E3=Entry(root,width=40,文本变量=fileName _ save)E1。grid(row=0,column=1,padx=5,pady=5)e2.grid(row=1,column=1,padx=5,pady=5)e3.grid(row=2,column=1,padx=5,pady按钮部分b1=按钮(root,text=生成,bd=5,宽度=10,命令=生成)。grid(row=4,column=0,sticky=W,padx=10,pady=5)b2=Button(root,text=退出,bd=5,width=10,command=root.quit)。grid(row=4,column=1,sticky=E,padx=10,pady=5)b3=Button(root,text=浏览,bd=2,width=5,command=browse_picture)。grid(row=1,column=1,sticky=E)b4=Button(root,text=浏览,bd=2,width=5,command=browse_save)。grid(row=2,column=1,sticky=E)root.mainloop()为了制作出一个和平常使用的感觉差不多的使用方式,还是费了一番功夫,
主要在于保存路径进入录入框这里
原本的方式tkinter.filedialog直接返回了一个包括文件名在内的路径,但保存路径实际上是到一个文件夹的,所以又调用了骨库,os.path.spli函数对这部分路径进行分割,但是要让文件名不是一个摆设的话,又要想办法加上文件名,最后只好多加了一个名为临时文件名的字符串
原本在学习图形界面时,是漏掉了tkinter.filedialog和tkinter.messagebox两个部分的,还想怎么去重新编写两个窗口,警告提示还好,但是文件全路径浏览还真是发了一番愁。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。