我正在尝试创建一个python程序tkinter,按下按钮后,它将打开一个新的全屏tkinter窗口,其中包含图像并播放音频文件-这是我的代码:
"#0000ff"
(我的图像和音频文件都和我的python文件一起放在桌面上)
但是,当我运行代码时,当我按下按钮时,会播放音频,但不会打开第二个tkinter窗口。
我试图破坏()buttonWindow,并尝试了许多不同的方式在tkinter窗口中包括图像-如果我使用PhotoImage()删除代码行,则该窗口出现(显然,我得到了一种语法错误,指出未定义“ img”。
我该如何解决?
谢谢, 路易斯
答案 0 :(得分:-1)
您的playound()命令阻止执行。 playound()命令具有一个可选字段“ block”,默认情况下为True。将其更改为False将继续执行并允许mainloop()继续。
第二,只需调用label.draw()将图像绘制到TopLevel窗口即可。
这是代码:
from tkinter import *
from PIL import Image, ImageTk
from playsound import playsound
def play():
window = Toplevel()
window.attributes('-fullscreen', True)
img = ImageTk.PhotoImage(Image.open("pic.jpeg"))
label = Label(window, image=img).pack()
playsound("song.mp3",block=False)
label.draw()
buttonWindow = Tk()
b = Button(buttonWindow, text="Press Button", command=play)
b.pack()
buttonWindow.mainloop()
干杯!