python - 创建按钮类时出现递归错误
问题描述
我正在为 python 项目创建一个按钮类,在运行时,我收到以下错误:
my_Button = Button(master)
[Previous line repeated 496 more times]
RecursionError: maximum recursion depth exceeded
Process finished with exit code 1
这是我创建的类:
from tkinter import *
import random
class Window:
def __init__(self, master):
master.title('Black Jack')
master.configure(bg='green')
master.geometry('500x500')
class Button:
def __init__(self, master, text, font, x, y):
master = master
self.text = text
self.font = font
self.x = x
self.y = y
my_Button = Button(master, text=text, font=font)
my_Button.pack(x=x, y=y)
这是代码:
from tkinter import *
import Classes
Helvetica = font = ('Helvetica', 15, 'bold italic')
Times = font = ('times', 13, 'bold italic')
root = Tk()
window = Classes.Window(root)
playButton = Classes.Button(root, 'Play', font, 200, 200)
为什么会出现递归错误?我没有使用任何循环。
解决方案
从您的代码中,您需要检查以下将递归调用该__init__
方法的代码。
my_Button = Button(master, text=text, font=font)
当您调用 Button() 方法时,您init
每次都在调用该方法。因此,这将陷入循环。由于正在进行的递归,我所理解的以下代码行将永远不会执行。
my_Button.pack(x=x, y=y)
推荐阅读
- python - 如何使用 for 循环和 if 语句将行附加到 pandas 数据帧
- swift - 如何检查 swift 函数实现
- google-bigquery - Bigquery 中的 Fuzzball
- c# - 无法识别 URI 前缀。元数据包含无法解析的引用:'net.tcp://localhost:8090/'
- oauth - Spring Cloud Gateway - 不透明的令牌
- css - 在引导程序 datetimepicker 中隐藏边框
- excel - 将范围从已关闭的工作簿复制到特定工作表
- amazon-web-services - Amplify 安装到现有 Vue/Bootstrap 项目时出错:您可能需要适当的加载程序来处理此文件类型
- android - 使用经过 Apple/Google 登录验证的客户端验证对服务器的请求
- node.js - 如何使用 IDEA 调试我的 koa 程序?