吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1597|回复: 0
收起左侧

[已解决] tkinter按钮不能更换图片

[复制链接]
Guru 发表于 2019-8-5 00:59
本帖最后由 Guru 于 2019-8-5 13:41 编辑

debug可以看到点了按钮,确实读取了另一张图,但就是不显示出来。
update,sleep,after都试过了,图片还是不刷新。
求教是哪里的问题?

已找到错误:
不应在每次更换图片时重新执行lblImage = Label(frm, image = img),将其放置在drawui中只执行一次,以后的每次修改图片仅执行frm.configure(image = img)和frm.image = img即可。


[Python] 纯文本查看 复制代码
#代码已大量删减
from tkinter import *
from urllib.request import urlopen
from PIL import Image, ImageTk
import os
from random import randint

#绘图
def drawpic():
    if cata == 'PIC':
        img= ImageTk.PhotoImage(pil_image_out)
        lblImage = Label(frm, image = img)
        lblImage.image = img
        lblImage.grid(sticky=E+W)
        window.update()
        window.update_idletasks()
    else:
        pass

#改变图片
def change():
    newid = currnum + changenum
    if newid > (len(dir)-1):
        newid = 0
    elif newid < 0:
        newid = (len(dir)-1)
    drawpic()
    print('Clicked')
    window.update()
    window.update_idletasks()

#初始化
def drawui():
    window.title('TEST')
    frmHATpic = Frame (width=200)
    frmHATpic.grid_propagate(0)
    #图片
    drawpic()
    #生成按钮
    HAT_BACK_BUTTON = Button(window,text='back',command=lambda:change(-1))
    HAT_NEXT_BUTTON = Button(window,text='next',command=lambda:change(1)

if __name__ == '__main__':
    window = Tk()
    drawui()
    window.mainloop()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 02:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表