如何从一个小部件设置一个功能

2024-10-01 07:47:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有几个函数的类,其中一个函数抛出一个异常,我想把焦点放回它正在验证的条目小部件上。呼叫:

self.entryWidget.set_focus()

返回AttributeError:

^{pr2}$

我应该如何在__init__之外引用这个小部件?在

class App:
    def __init__(self,master):
        calcframe = Frame(master)
        calcframe.pack()
        self.vol = DoubleVar()
        entryWidget = Entry(calcframe, textvariable=self.vol)
        entryWidget.grid(row=1, column=1, sticky=W)
        entryWidget.focus()

    def updateSIP(self):
        try:
            volume = self.vol.get()
        except:
            self.entryWidget.set_focus()
root = Tk()
root.wm_title('title')
app = App(root)
root.mainloop()

Tags: 函数selfmasterapptitleinit部件def
1条回答
网友
1楼 · 发布于 2024-10-01 07:47:00

问题是您没有使entryWidget成为App的属性。在

为此,请将self.放在它前面:

def __init__(self,master):
    calcframe = Frame(master)
    calcframe.pack()
    self.vol = DoubleVar()
    self.entryWidget = Entry(calcframe, textvariable=self.vol)
    self.entryWidget.grid(row=1, column=1, sticky=W)
    self.entryWidget.focus()

现在,entryWidgetApp的一个属性,可以通过self进行访问。在

相关问题 更多 >