我有一个记录屏幕的python脚本,但是现在当我尝试使用tkinter来运行我的屏幕记录脚本并从tk窗口中的按钮终止时,我面临以下问题:
self.recorderButton =按钮(框架,文本=“开始录制”,command = self.Recorder.record_screen)AttributeError:“试用”对象 没有属性'Recorder '
这是我的python代码:
from tkinter import *
import Recorder
class Trial:
def __init__(self, master):
frame = Frame(master)
frame.pack()
# self.printButton = Button(frame, text="Print Message", command=self.printMessage)
# self.printButton.pack(side=LEFT)
self.recorderButton = Button(frame, text="Start Recording", command=self.Recorder.record_screen)
self.recorderButton.pack(side=LEFT)
self.quitButton = Button(frame, text="Quit", command=frame.quit)
self.quitButton.pack(side=LEFT)
def printMessage(self):
print("Hello there its me Nitin!")
root = Tk()
alpha = Trial(root)
root.mainloop()
答案 0 :(得分:0)
record_screen()
是属于Recorder
模块的功能。因此,以self为前缀没有意义。
我的意思是您应该按以下方式编写回调:
self.recorderButton = Button(frame, text="Start Recording", command=Recorder.record_screen)
编辑:
通过您的评论来提问。
当您为按钮command = something
编写此选项时,something
必须是回调(函数),而且我猜您没有在某个地方实现该回调。
您可以在班级内添加此功能:
def quit(self):
self.frame.destroy()
然后将(...command=self.frame.quit
)更改为(...command=self.quit
)