unknown886 2021-12-26 02:39 采纳率: 53.3%
浏览 56
已结题

为什么复制之后运行不了,图片的地址需要存到哪里!

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
from tkinter import *   #引入tkinter库
from PIL import Image    #引入PIL库的Imgae子模块
from PIL import ImageTk    #引入PIL库的ImageTk子模块
import qrcode   #引入qrcode库
root = Tk() #新建窗口
root.title('二维码生成器')  #窗口标题
img = qrcode.make('https://www.codemao.cn')  #将这个网站转换为二维码图片
img.save('./hello.png') #保存二维码图片到本地  【这句话运行不了】
img = Image.open('hello.png') #打开本地二维码图片
img = ImageTk.PhotoImage(img)  #根据本地图片生成窗体图片
t = Text(root, height=10, font=("黑体", 15)) #在窗体嵌入输入框
t.grid(row=0, column=0, padx=10, pady=5) #输入框的位置
 
def create_qrcode(text, filename):
    """
    生成二维码图片
    """
    qr = qrcode.QRCode(
        version=None,
        error_correction=qrcode.ERROR_CORRECT_H,
        box_size=5,
        border=1
    )
    qr.make(fit=True)
    qr.add_data(text)
    # fill_color和back_color参数改变生成图片的格子颜色和背景颜色
    img = qr.make_image(fill_color="Tan", back_color="white")
    img.save(filename + '.png')
 
def callback():
    # 获取文本框内的内容
    text_input = t.get(0.0, "end")
    # 定义图片的名字为输入内容的第一个字符
    img_name = text_input[0:1]
    #生成二维码图片
    create_qrcode(text_input, img_name)
    #保存二维码图片至本地
    img = Image.open(img_name + '.png')
    #设定图片大小
    img = img.resize((500, 500))
    #重新在窗体中显示新生成的二维码图片,覆盖刚才的图片
    img = ImageTk.PhotoImage(img)
    label.configure(image=img)
    label.image = img
 
btn = Button(root, text='点我生成二维码', width=20, font=("黑体", 30), command=callback)  #按钮,按钮相应函数 callback
btn.grid(row=1, column=0, pady=20)  #按钮位置
label = Label(root, image=img, width=500, height=500) #嵌入二维码图片
label.grid(row=2, column=0)  #二维码图片位置
root.mainloop()

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

展开全部

  • 写回答

1条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2021-12-26 03:09
    关注

    程序没错!
    报错的原因是你的文本框里什么都没输入,就点生成按钮了。

    可以在callback()函数里加上一句判断,如果为空就输出默认网址

    def callback():
        # 获取文本框内的内容
        text_input = t.get(0.0, "end")
        if text_input=='\n':
            text_input = 'http://www.baidu.com'
    #以下略.......
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    unknown886 2021-12-26 03:17

    你好啊!我这个程序运行不了!
    网址换成什么是不是都可以!
    或许图片的地址在哪里!然后保存到哪里!

    回复
    unknown886 2021-12-26 03:24

    img.save('./hello.png') #保存二维码图片到本地 【这句话运行不了】
    这句话提示问题啊!!!!!!

    回复
    Hann Yang 回复 unknown886 2021-12-26 03:26

    把./去掉,只要'hello.png'试试

    回复
    展开全部20条评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月29日
  • 创建了问题 12月26日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部