2015-11-18 5 views
-2

Я пробовал python в течение нескольких дней. Я попытался создать текстовый редактор, но когда я закончил код и попытался его построить, я получаю ошибку: object is not callable.«объект не подлежит вызову»

У кого-нибудь есть исправление для этого?

import tkinter 
import tkinter.filedialog  

filename = None 

root = tk() 
root.title("XYZ Editor") 
root.minsize(width=400, height=400) 
root.maxsize(width=400, height=400) 

text = text(root, width=400, height=400) 
text.pack() 

menubar = Menu(root) 
filemenu = Menu(menubar) 
filemenu.add_command(label="new", command=newFile) 
filemenu.add_command(label="Open", command=openFile) 
filemenu.add_command(label="Save", command=saveFile) 
filemenu.add_command(label="Save As", command=saveAs) 
filemenu.add_separator() 
filemenu.add_command(label="Quit", command=root.quit) 
menubar.add_cascade(label="File", menu=filemenu) 

root.config(menu=menubar) 
root.mainloop() 

Ошибка я получаю это:

Traceback (most recent call last): File "C:\Users\erwin\Desktop\Python\Test.py", line 32, in root = tk() NameError: name 'tk' is not defined [Finished in 0.1s]

+3

Можете ли вы добавить полное сообщение об ошибке. Итак, мы видим, какая строка и какие объекты задействованы –

+0

, в частности, такой код не должен компилироваться, вы не импортировали «tk» или «текст», а только всю библиотеку и все же вызывали ее по имени внутри пространства имен tkinter – lejlot

+0

Traceback (последний звонок последний): Файл «C: \ Users \ erwin \ Desktop \ Python \ Test.py», строка 32, в root = tk() NameError: имя 'tk' не определено [Закончено в 0,1 с] – Blured

ответ

2

Вам нужно что-то вроде этого (предполагая, что питон 3):

import tkinter 
root = tkinter.Tk() 

Убедитесь, что Tk заглавная. Также внесите это изменение:

text = tkinter.Text(root, width=400, height=400) 

См. http://tkinter.unpythonic.net/wiki/the_simplest_possible_Tkinter_program.

Наконец, как сказал tobias_k, вам необходимо определить такие команды, как newFile. Или просто закомментируйте следующие строки сейчас:

filemenu.add_command(label="new", command=newFile) 
filemenu.add_command(label="Open", command=openFile) 
filemenu.add_command(label="Save", command=saveFile) 
filemenu.add_command(label="Save As", command=saveAs) 
0

Предполагая, что вы используете Python 3: Изменить импорт из

import tkinter

в

from tkinter import *

, а также изменить

root = tk()

к

root = Tk()

уведомление капитал T в Tk().

Смежные вопросы