Неизвестная синтаксическая ошибка при создании простого виджета в Tkinter - PullRequest
3 голосов
/ 27 сентября 2011

Я следовал этому уроку (http://sebsauvage.net/python/gui/#add_button) при создании виджетов с помощью Tkinter. Я очень внимательно следил за ним, но, когда я запускаю его сейчас на шаге 10, я получаю ошибку «Неверный синтаксис». Здесь код:

import tkinter

class simpleapp_tk(tkinter.Tk):
    def __init__(self,parent):
        tkinter.Tk.__init__(self,parent)
        self.parent = parent
        self.initialize()

    def initialize(self):
        self.grid()

        self.entry = tkinter.Entry(self)
        self.entry.grid(column=0,row=0,sticky='EW')

        button = tkinter.Button(self,text=u"Click me !")
        button.grid(column=1,row=0)

if __name__ == "__main__":
    app = simpleapp_tk(None)
    app.title('my application')
    app.mainloop()

IDLE указывает на ошибку в этой строке, выбирая вторые кавычки:

button = tkinter.Button(self,text=u"Click me !**"**)

Учебное пособие было написано на Python 2, но я использую Python 3. Кто-нибудь может увидеть, что является ошибкой и что делать, чтобы ее исправить (в Python 3)?

Заранее спасибо за любую помощь, я новичок в программировании, и английский не является моим родным языком.

Ответы [ 2 ]

4 голосов
/ 27 сентября 2011

Заменить u"Click me !**" на "Click me !**"

u указывает строку Unicode (тип unicode вместо str) в Python 2, но в Python 3 различие между типами str и unicode исчезло и u слом.

2 голосов
/ 27 сентября 2011

В Python 3 нет префикса u для строк Юникода.

...