AttributeError: 模块 'tkinter' 没有属性 'tk' [英] AttributeError: module 'tkinter' has no attribute 'tk'

查看:97
本文介绍了AttributeError: 模块 'tkinter' 没有属性 'tk'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试制作一个简单的音乐播放器,但我不断收到此错误:

I am trying to make a simple music player but I keep getting this error:

Traceback (most recent call last):
    File "C:/Users/nickw/PycharmProjects/untitled1/music player", line 28, in <module>
        slider = tk.Scale(window, from_=100, to=0, command=setVolume)
      File "C:\Users\nickw\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 2856, in __init__
        Widget.__init__(self, master, 'scale', cnf, kw)
      File "C:\Users\nickw\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 2132, in __init__
        BaseWidget._setup(self, master, cnf)
      File "C:\Users\nickw\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 2110, in _setup
        self.tk = master.tk
    AttributeError: module 'tkinter' has no attribute 'tk'

这是我的代码:

import pygame
import Tkinter as tk
window = tk.Tk()


pygame.init()
pygame.mixer.music.load("music")

started = False
playing = False

def buttonClick():
    global playing, started
    if not playing:
        if not started:
            pygame.mixer.music.play(-1)
            started=True
        else:
            pygame.mixer.music.unpause()
        button.config(text ="Pause")
    else:
        pygame.mixer.music.pause()
        button.config(text="play")
        playing = not playing
def setVolume(val):
    volume = float(slider.get())
    pygame.mixer.music.set_volume(volume /100)


slider = tk.Scale(window, text="play", command="buttonClick")
button = tk.Button(tk, text = "play", command = buttonClick)

slider.pack()
slider.set(100)
button.pack()
window.mainloop()

推荐答案

如果你使用的是 python 3.x 你必须改变你的 import-line from

If you are using python 3.x you have to change your import-line from

import Tkinter as tk

import tkinter as tk

另一个问题是你的 slider:构造函数需要一个函数作为最后一个参数,你给它一个字符串.您实际上知道正确的方法,正如我在以下行中看到的那样.

Another problem is your slider: the constructor expects a function as last argument, you give it a string. You actually know the correct way, as I can see on the following line.

这篇关于AttributeError: 模块 'tkinter' 没有属性 'tk'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆