Python函数类型在TkInter按钮单击命令时出错

2024-09-25 06:33:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

import mp3play
try:

    from Tkinter import *
except ImportError:

    from tkinter import *

root = Tk()

def playMusic(root):
    filename = r'D:\My Documents\School Work\A2 Computing\Project\Westerado.mp3'
    mp3 = mp3play.load(filename)
    mp3.play()

# Declaring the buttons
button1 = Button(text="Play", fg="Black", height=1, width=7, command= playMusic)

还有一些与此错误无关的错误,但是当我运行程序时,GUI将显示为正常,除了当我单击button1时,我得到以下错误:

^{pr2}$

我对Python函数和按钮命令没有做太多的工作,因此不确定出了什么问题,尽管我确信函数playMusic的参数是不正确的。在

我需要在这里做些什么才能让它正常工作?我知道,如果我把def playMusic(root):全部去掉,那么当我跑去编码时,音乐就会正常播放。但是按钮点击命令是不正确的。在

编辑-

我已经切换到def play_music():,现在我单击按钮时没有任何错误。相反,程序按钮看起来像是被点击冻结了,好像它在尝试做什么,但什么也不会发生。在


Tags: 函数fromimport命令程序playdef错误
1条回答
网友
1楼 · 发布于 2024-09-25 06:33:48

我在玩代码,试图让一些东西发挥作用,我发现如果我做了这个:

filename = r'D:\My Documents\School Work\A2 Computing\Project\Westerado.mp3'
mp3 = mp3play.load(filename)

全局的;然后在函数中有:

^{pr2}$

然后当我去点击按钮“播放”它工作得非常好!在

不知道为什么这样做有效,而另一种方法没有!但现在我没有抱怨。在

所以总体看来:

filename = r'D:\My Documents\School Work\A2 Computing\Project\Westerado.mp3'
mp3 = mp3play.load(filename)

def play_music():
    mp3.play()

# Declaring the buttons
button1 = Button(text="Play", fg="Black", height=1, width=7, command=play_music)

相关问题 更多 >