2017-05-14 22 views
0

私は学校のプロジェクトをコーディングしていて、自分のコードでtkinterを使用しようとしていましたが、エラーが発生していました。誰かが私に教えてくださいすることができ、私は私が最後の1を詳細に調べる前にそれをテストするために、その単純なプロジェクトをマックラップトップとpycharmインタフェースここtkSimpleDialog pycharm

Traceback (most recent call last): 
    File "/Users/-----/Desktop/python/Tkinter turtle obstacle.py", line 20, in <module> 
    color1()#does it automatically 
    File "/Users/-----/Desktop/python/Tkinter turtle obstacle.py", line 8, in color1 
    ac1 = Sd("Color Selector", 'Enter the color of the turtle') 
TypeError: 'module' object is not callable 

私のコードがあるを使用していますが、私はそれを動作させることはできません何が間違っています:

import turtle    # 1. import the modules 
import random 
import Tkinter as tk 
import tkSimpleDialog as Sd 
def color1(): 
    ac1 = Sd("Color Selector", 'Enter the color of the turtle') 
    steve.color(ac1) 
    print(5) 
def color2(): 
    ac2 = Sd("Color Selector", 'Enter the color of the obstacle') 
    sam.color(ac2) 
root = tk.Tk() 
wn = turtle.Screen()  # 2. Create a screen 
wn.bgcolor('white') 

steve = turtle.Turtle() # 3. Create two turtles 
sam = turtle.Turtle() 
color1()#does it automatically 
color2() 
red = tk.Button(root, text = "Enter String", command = color1)#this puts it on a button click 
blue = tk.Button(root, text = "Enter String", command = color2) 
red.grid(row=0,column=0) 
blue.grid(row=1,column=0) 
steve.shape('turtle') 
sam.shape('circle') 

steve.speed(1) 
sam.speed(1) 
steve.pensize(5) 
sam.pensize(25) 
sam.penup() 
sam.pendown() 
steve.penup() 

steve.goto(-300,0) 
sam.goto(0,0) 

b = True 
while b is True: 
    steve.pendown() 
    steve.forward(20) 
    if steve.xcor() == sam.xcor() -40: 
     steve.left(90) 
     steve.forward(30) 
     steve.right(90) 
    if steve.xcor() == sam.xcor() +40: 
     steve.right(90) 
     steve.forward(30) 
     steve.left(90) 
    if steve.xcor() == 200: 
     steve.write('Obstacle Avoided', font=('Arial', 20, "bold")) 
     break 

wn.exitonclick() 

答えて

1

tkSimpleDialogはモジュールであり、クラスではありません。 このモジュールでは、おそらくクラスのインスタンスを作成したいと考えています。

モジュール内のクラスを探し、正しいクラスを使用してインスタンスを作成します。

+0

@ paperazzo79とはどういう意味ですか? – Loi

+0

まだクラスとインスタンスでは動作しません – Loi