这是我的代码:
from tkinter import Tk, Button
import GUI
root = Tk()
b = GUI.time
button1 = Button(
root, text="Local time", command=b.local_time # text on top of button
) # button click event handler
button1.pack()
button2 = Button(
root, text="Greenwich time", command=b.greenwich_time # text on top of button
) # button click event handler
button2.pack()
root.mainloop()
从我的课堂上获得b.local_time和b.greenwich_time:
from time import strftime, localtime, gmtime
class time:
def __init__(self):
self.gm_time = strftime("Day: %d %b %Y\nTime: %H:%M:%S %p\n", gmtime())
self.l_time = strftime("Day: %d %b %Y\nTime: %H:%M:%S %p\n", localtime())
def greenwich_time(self):
print("Greenwich time:\n" + self.gm_time)
def local_time(self):
print("Local time:\n" + self.l_time)
但是,当我点击按钮时,我会得到错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\carol\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
TypeError: local_time() missing 1 required positional argument: 'self'
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\carol\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
TypeError: greenwich_time() missing 1 required positional argument: 'self'
有人可以向我解释为什么缺少必要的论点??谢谢!!!
b=GUI. time
不会创建time
类的实例;它只是使b
成为类的另一个名称。因此,b.local_time
不是绑定方法;而是函数。由于按钮回调在被调用时没有提供任何参数,因此函数缺少Self
参数的参数。
你想要的
b = GUI.time()
我无法通过错误: 我检查了几个教程,但似乎没有什么不同于我的代码。我唯一能想到的是Python3.3需要不同的语法。 如果我理解正确,会自动传递给构造函数和方法。我做错了什么?
我是Python的新手,我正在尝试学习如何使用类。有人知道这怎么不起作用吗?任何关于关键字“self”的额外提示都将不胜感激。 代码: 错误:
问题内容: 我是python新手,碰壁了。我遵循了一些教程,但无法克服错误: 我检查了一些教程,但似乎与我的代码没有什么不同。我唯一能想到的是python 3.3需要不同的语法。 主要技巧: 泵类: 如果我正确理解,“自我”将自动传递给构造函数和方法。我在这里做错了什么? 我正在将Windows 8与python 3.3.2一起使用 问题答案: 你需要在此处实例化一个类实例。 采用 小例子
我正在学习python。我创建了一个包含2个方法的类可视化工具。现在我想在第二个方法中调用第一个方法。我读到我必须使用self: 这很有效。现在我添加了其他参数: 我从我的调用它: 现在我得到一个错误: 我检查了,参数3在那里,参数序列是相同的。我认为它与自我冲突。 我怎样才能解决这个问题?我的类中是否需要init方法? 编辑:在我的主页上:
我尝试在谷歌中找到解决方案,但谷歌中的所有解决方案都不适合我,也许在这里我得到了正确的答案。 我有以下代码: 我得到了这个错误: 回溯(最后一次调用):文件“位置文件”,第42行,在g=gui_main()文件“位置文件”的第26行,在init btn_next=按钮(self.win_about,text=“next”,fg=“red”,command=gui_main.screen_menu(
我试图创建一个代码,它需要一个用户ID,然后检查它是否与一个匹配,如果它这样做了,它会发送一条消息...我一直得到错误TypeError:on_message()缺少1所需的位置参数:'消息'...