我有以下代码:
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)还有一些与此错误无关的错误,但是当我运行程序时,图形用户界面将正常显示,除了当我单击button1时,我得到以下错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "D:\Python2.7\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
TypeError: playMusic() takes exactly 1 argument (0 given)我没有做太多的Python函数和按钮命令的工作,因此不确定哪里出了问题,尽管我确实相信函数playMusic的参数是不正确的。
为了让它正常工作,我需要在这里进行哪些更改?我知道如果我完全取出def playMusic(root):,那么当我运行代码时,音乐就会像它应该的那样播放。但按钮单击命令是不正确的。
编辑-
我已经切换到def play_music():,现在当我单击按钮时不会得到任何错误。取而代之的是,程序按钮看起来就像它被冻结了,被按下,就像它试图做什么事情,但什么也不会发生。
发布于 2015-02-19 21:48:04
我试着使用代码,试图让一些东西正常工作,我发现如果我这样做:
filename = r'D:\My Documents\School Work\A2 Computing\Project\Westerado.mp3'
mp3 = mp3play.load(filename)全局;然后在函数中只包含以下内容:
def play_music():
mp3.play()然后,当我点击“播放”按钮时,它工作得很好!
不知道为什么这种方式可以工作,而另一种方式不能!但现在我不是在抱怨。
因此,总体上看起来是这样的:
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)https://stackoverflow.com/questions/28606293
复制相似问题