1815702237 发表于 2020-6-15 21:42:34

tkinter

我想在button组件的回调函数里再放一个label来实现当按钮被按下时用label组件加载出一个jpg
但是按下按钮后没有反应,怎么解决
或者有什么别的办法能让按下按钮后加载图片吗

Twilight6 发表于 2020-6-16 00:27:41


你pack 错了,改下应该就能解决问题,还有下次建议发代码,你如果不方便给别人看到文本,可以重新编辑下

因为代码别人可以直接拿去测试,看图就不怎么方便

1815702237 发表于 2020-6-16 07:53:18

Twilight6 发表于 2020-6-16 00:27
你pack 错了,改下应该就能解决问题,还有下次建议发代码,你如果不方便给别人看到文本,可以重新编辑下
...

下次会注意的,我想问一下pack怎么改能打出图片

Twilight6 发表于 2020-6-16 08:23:25

1815702237 发表于 2020-6-16 07:53
下次会注意的,我想问一下pack怎么改能打出图片

你pack 前面改成 label2.pack()不是 pack 的问题 是你布局管理器压根没布局上图片的 Label所以肯定不会显示的~   看楼上的图片

xiaosi4081 发表于 2020-6-16 12:49:28

image参数改成:
text=photo

1815702237 发表于 2020-6-16 17:41:59

Twilight6 发表于 2020-6-16 08:23
你pack 前面改成 label2.pack()不是 pack 的问题 是你布局管理器压根没布局上图片的 Label所以肯定不 ...

我改成label2之后还是什么都不显示,
我也试了楼下的把image改成text按下后就跳出pyimage1,
然后按一次后面数字就加一,但不显示图片

1815702237 发表于 2020-6-16 17:43:30

Twilight6 发表于 2020-6-16 08:23
你pack 前面改成 label2.pack()不是 pack 的问题 是你布局管理器压根没布局上图片的 Label所以肯定不 ...

改完后在点下他把界面下面就拉长了那张图片的长度,但是图片显示不出

Twilight6 发表于 2020-6-16 17:43:54

1815702237 发表于 2020-6-16 17:43
改完后在点下他把界面下面就拉长了那张图片的长度,但是图片显示不出

发代码吧直接帮你改 这一点一点的太麻烦了

1815702237 发表于 2020-6-16 17:46:39

Twilight6 发表于 2020-6-16 17:43
发代码吧直接帮你改 这一点一点的太麻烦了

from tkinter import *
from PIL import Image,ImageTk

root = Tk()

Text = '''
hello
'''

def callback_b1():
   
   img = Image.open("")
   photo = ImageTk.PhotoImage(img)
   label2 = Label(root,image=photo)
   label2.pack()
   
label = Label(root,text = Text,justify=CENTER,font="华康少女字体,20")
label.pack()

b1 = Button(root,text="按钮1",command=callback_b1).pack()
b2 = Button(root,text="按钮2").pack()

mainloop()

Twilight6 发表于 2020-6-16 17:49:28

1815702237 发表于 2020-6-16 17:46


路径自己加上改成这样即可,图片文件在函数内打开,函数执行已结束就被垃圾回收机制给清除了

from tkinter import *
from PIL import Image, ImageTk

root = Tk()

Text = '''
hello
'''


def callback_b1():
    label2 = Label(root, image=photo)
    label2.pack()


label = Label(root, text=Text, justify=CENTER, font="华康少女字体,20")
label.pack()
img = Image.open("")
photo = ImageTk.PhotoImage(img)
b1 = Button(root, text="按钮1", command=callback_b1).pack()
b2 = Button(root, text="按钮2").pack()

mainloop()

1815702237 发表于 2020-6-16 17:52:09

Twilight6 发表于 2020-6-16 17:49
路径自己加上改成这样即可,图片文件在函数内打开,函数执行已结束就被垃圾回收机制给清除了

谢谢{:10_298:}

Twilight6 发表于 2020-6-16 17:53:05

1815702237 发表于 2020-6-16 17:52
谢谢

客气了~
页: [1]
查看完整版本: tkinter