Python打印数字而不是单词
我试图制作一个Tkinter程序来显示你输入的内容,但是我在空闲的shell中得到了一堆数字 我的节目: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
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
选项。我编辑了我的答案。谢谢你,感谢你和所有帮助这个项目的人现在都在工作。