我无法从另一个文件中的类获取文本框。在
here.py
文件中,我应该调用文本框,但文本框位于 Page2
文件的 x.py
类中
在
here.py
文件中我写道:if condition >= x.Page2().textbox
但我收到错误:
TypeError: Page2.__init__() missing 2 required positional arguments: 'master' and 'myclick'
显然,这意味着
Page2
有master
和myclick
主题,如您所见
x.py
class Page2(tk.Frame):
def __init__(self, master, myclick, **kw):
super().__init__(master, **kw)
self.textbox = ttk.Entry(self, width=7)
self.textbox.place(x=420, y=30)
因此,在文件
here.py
中,我尝试编写if condition >= x.Page2(master, myclick).textbox
,但收到错误:NameError: name 'master' is not defined
。 master
与我无关,但它只是 Python 在 def init 的经典用法中用来表示主窗口的参数
我该如何修复它?
注意:我不知道知道是否重要,但是
myclick
位于 main.py
文件中,并且是一个函数
正如评论中提到的,您尚未定义
master
来传递给 x.Page2
。
您需要定义
master
(或 root
,如 tkinter
文档中所示:https://docs.python.org/3/library/tkinter.html#a-hello-world-program ),然后才能将其传递给 x.Page2
的构造函数。
类似:
root = Tk()
if condition >= x.Page2(root, myclick).textbox:
...