Python打印数字而不是单词

Python打印数字而不是单词,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我试图制作一个Tkinter程序来显示你输入的内容,但是我在空闲的shell中得到了一堆数字 我的节目: from Tkinter import * class App: def __init__(self, master): frame = Frame(master) frame.pack() self.text_write = Entry(frame) self.text_write.pack() self.Show = Button

我试图制作一个Tkinter程序来显示你输入的内容,但是我在空闲的shell中得到了一堆数字

我的节目:

from Tkinter import *

class App:
    def __init__(self, master):

    frame  = Frame(master)
    frame.pack()

    self.text_write = Entry(frame)
    self.text_write.pack()

    self.Show = Button(frame, text='Show', command=self.Show)
    self.Show.pack(side=RIGHT)

    def Show(self):
        Label(self.text_write.get())

 root = Tk()

 app = App(root)

 root.mainloop()
而不是显示文本。“我的空闲外壳”中会出现以下数字:

.4334975024
.4334975600
.4334975672
.4334975816
.4334975960
.4334976104
.4334976248
.4334976392
.4334976536 
谁能解释一下这个问题,我怎样才能解决它

def Show(self):
    Label(self.text_write.get())
如果将“Label”替换为“print”,它将起作用(如中所示,将值打印到stdout)

代码的作用是创建一个以字符串作为父项的新标签(当它想要一个窗口作为父项时),然后不将该标签附加到任何东西上

您可能希望创建标签对象并将其附加到init中的窗口,然后在Show()中更新标签的值

如果将“Label”替换为“print”,它将起作用(如中所示,将值打印到stdout)

代码的作用是创建一个以字符串作为父项的新标签(当它想要一个窗口作为父项时),然后不将该标签附加到任何东西上

您可能希望创建标签对象并将其附加到init中的窗口,然后在Show()中更新标签的值?

尝试以下操作:

from Tkinter import *

class App:
    def __init__(self, master):

    frame  = Frame(master)
    frame.pack()

    self.text_write = Entry(frame)
    self.text_write.pack()

    # rename the show button because you gave a member function the same name
    self.show_button = Button(frame, text='Show', command=self.Show)
    self.show_button.pack(side=RIGHT)

    # create label to display entered text
    self.display = Label(frame, text='')
    self.display.pack(side=BOTTOM)

    def Show(self):
        # print text to the standard output
        print self.text_write.get()
        # show text on label
        self.display['text'] = self.text_write.get()

root = Tk()

app = App(root)

root.mainloop()
试试这个:

from Tkinter import *

class App:
    def __init__(self, master):

    frame  = Frame(master)
    frame.pack()

    self.text_write = Entry(frame)
    self.text_write.pack()

    # rename the show button because you gave a member function the same name
    self.show_button = Button(frame, text='Show', command=self.Show)
    self.show_button.pack(side=RIGHT)

    # create label to display entered text
    self.display = Label(frame, text='')
    self.display.pack(side=BOTTOM)

    def Show(self):
        # print text to the standard output
        print self.text_write.get()
        # show text on label
        self.display['text'] = self.text_write.get()

root = Tk()

app = App(root)

root.mainloop()

App.Show()
(原始版本)应该完成什么?为什么要用实例上的按钮替换
App.Show()
?(
self.Show=按钮(…)
)。
按钮
操作现在指向自身。@MartijnPieters:实际上,该命令是在构造函数调用期间设置的,即使名称已被替换,也不会处理旧方法。但我同意这是一种不好的做法。@IgnacioVazquez Abrams:它正在被跟踪,因此无法从
self
访问类方法。我在简化。:-)它没有被遮蔽,而是被完全替换了。但是在引用被传递到
按钮
构造函数之前。
App.Show()
(原始的)应该完成什么?为什么要用实例上的按钮替换
App.Show()
?(
self.Show=按钮(…)
)。
按钮
操作现在指向自身。@MartijnPieters:实际上,该命令是在构造函数调用期间设置的,即使名称已被替换,也不会处理旧方法。但我同意这是一种不好的做法。@IgnacioVazquez Abrams:它正在被跟踪,因此无法从
self
访问类方法。我在简化。:-)它没有被遮蔽,而是被完全替换了。但不是在引用被传递到
按钮
构造函数之前。我将代码更改为此,但出现一条错误消息:Label实例没有属性“set”,是否可以修复this@user2436777哎呀!很抱歉我实际上没有检查代码。尝试设置标签
text
选项。我编辑了我的答案。谢谢你,感谢你和所有帮助该程序工作的人。我将代码更改为此,但出现错误消息:Label实例没有属性“set”,是否可以修复this@user2436777哎呀!很抱歉我实际上没有检查代码。尝试设置标签
text
选项。我编辑了我的答案。谢谢你,感谢你和所有帮助这个项目的人现在都在工作。