Loi
Loi

Reputation: 1

tkSimpleDialog pycharm

I am coding for a school project and was trying to use tkinter in my code, but it kept coming up with an error. I am using a mac laptop and the pycharm interface

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

Here is my code, its just a simple project to test it before i delve into the final one but I cannot get it to work, can someone please tell me what is wrong with it:

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()

Upvotes: 0

Views: 153

Answers (1)

paperazzo79
paperazzo79

Reputation: 355

tkSimpleDialog is a module, not a Class. You probably want to create an instance of a Class in this module.

Look for the Classes in the module and use the correct Class to create the instance.

Upvotes: 1

Related Questions