- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究密码管理器,它分为几个类。当不满足特定条件时,我希望响铃以通知用户。在一个简单的代码版本中,我使用了很好的旧self.bell()没问题(所有代码都在一个类下-不好,因此是升级版本)。
在升级的代码中,我得到了递归错误。
我经历了我能想到的一切,没有喜悦。我似乎找不到足够接近的案例可以在各种论坛上找到。
我在Windows7上使用pycharm 2019.1.3。
主文件:
from class_createNewPassword import *
from class_searchDatabase import *
from class_updateDatabase import *
class display(Tk):
def __init__(self, master=None):
# main window
Tk.__init__(self, master)
self.title('Password Manager')
buttonCreate = ttk.Button(self, text='Create a new password', command=createNewPassword)
buttonCreate.grid(column=0, row=0)
buttonSearch = ttk.Button(self, text='Search the database', command=SearchDatabase)
buttonSearch.grid(column=1, row=2)
buttonUpdate = ttk.Button(self, text='Update the database', command=UpdateDatabase)
buttonUpdate.grid(column=2, row=4)
if __name__ == "__main__":
app = display()
app.mainloop()
from tkinter import *
from tkinter import ttk
import tkinter as tk
from class_makePassword import *
class createNewPassword(Tk):
def __init__(self):
createWindow = tk.Toplevel()
createWindow.title('Create a password')
Toplevel.connection = sqlite3.connect("mdp - Copy.db")
Toplevel.cursor = Toplevel.connection.cursor()
self.connection = Toplevel.connection
self.cursor = Toplevel.cursor
#bunch of tkinter variables and stuff, and some functions not related to the issue
def savePassword(self, condition):
if condition: #writes data in the DB, works well
pass
else:
print("problem")
self.bell() #problem is here
Exception in Tkinter callback
Traceback (most recent call last):
File "F:\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "I:\01 Programs\01 On the way\SQL\password manager with classes\class_createNewPassword.py", line 249, in savePassword
self.bell()
File "F:\Python37-32\lib\tkinter\__init__.py", line 783, in bell
self.tk.call(('bell',) + self._displayof(displayof))
File "F:\Python37-32\lib\tkinter\__init__.py", line 2101, in __getattr__
return getattr(self.tk, attr)
File "F:\Python37-32\lib\tkinter\__init__.py", line 2101, in __getattr__
return getattr(self.tk, attr)
File "F:\Python37-32\lib\tkinter\__init__.py", line 2101, in __getattr__
return getattr(self.tk, attr)
[Previous line repeated 493 more times]
RecursionError: maximum recursion depth exceeded while calling a Python object
最佳答案
问题的根源在于您的createNewPassword
类继承自Tk
,但您没有调用Tk.__init__
来正确初始化该类。
我根本看不到您为什么要从Tk继承的任何原因。而是从Toplevel
继承并正确初始化它:
class createNewPassword(Toplevel):
def __init__(self):
Toplevel.__init__(self)
self.title('Create a password')
...
def savePassword(self, condition):
if condition:
pass
else:
self.bell()
关于python - self.bell()创建一个RecursionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57112244/
当我收到此错误时,此递归阶乘计算器一直运行良好,直到输入 994:“RecursionError:比较时超出最大递归深度”。有人可以解释一下这是什么意思吗?递归的最大数量怎么可能?提前致谢。 def
我正在尝试使用递归函数迭代嵌套字典,但是我最终收到一条消息,上面写着 RecursionError: maximum recursion depth exceeded while calling a
我正在尝试编写一个由任意数量的 lambda 函数组成的函数。 我有两个简单的 lambda 函数。 f = lambda x: x + 1 g = lambda x: x**2 我对组合函数的尝试是
import random class cards(): def __init__(self,val,suit): self.val = val self.su
我在 Python 中编写了以下用于快速排序的代码,但出现RecursionError: maximum recursion depth exceeded in comparison。在运行另一个具有
所以我尝试使用 sys.getrecursionlimit() 和 sys.setrecursionlimit() 方法。默认递归限制为 3000。 我尝试使用以下代码对其进行检查: def recu
我有一个 python 应用程序,它可以在 python 上完美运行,但在运行 cythonized 脚本时出现错误。 当我用 cython 编译脚本时,一切都编译正常,我在带有 Linux 的 Ra
代码如下所示。我只知道 RecursionError 的原因是 student.age 在 Descriptor 中以无限循环调用 __get__ 。但是,我既不知道根本原因,也不知道解决方案。 我该
简单的代码: from PyDAQmx import Task task = Task() 加薪: File "C:\Users\Adrian\Anaconda3\lib\site-packages
我一直在尝试使用 PyQt5 库开发一个多窗口应用程序。我想有一个专门用于单独功能的第二个窗口。我能够从主窗口切换到辅助窗口,没有任何问题。但是在尝试切换回来后,我得到了递归错误异常。这是相关的代码:
我使用以下代码来计算斐波那契数列的元素。代码按原样正常工作 def fib(n, lookup=dict()): if n == 0 or n == 1: lookup[n]
我正在使用谷歌colab。我已经做了很多次我想做的事情,所以我不知道为什么它现在不起作用。 我所做的就是制作一个包含大约 1000 个键的字典,每个值都是 4 个字符串的列表。我已经确认这本词典正是我
所以,我有一个函数,它的目的是为被逗号包围的单词着色。 def __init__(...something): ...something self.user_i
我正在使用 tkinter 学习,这涉及形状的流畅运动。这就是我现在陷入困境的地方。 我收到不一致的递归错误。该代码在 Windows 1O 上运行没有问题,但在我的 macOS 上它崩溃了。 此外,
我得到了以下代码来详细说明我的问题。我正在使用 python 3.6 和 pandas==0.25.3。 import pandas as pd from enum import Enum, IntE
出于单元测试的目的,我创建了一个类,其实例是一个可迭代的,它将产生特定的序列,然后引发异常: class Iter: def __init__(self, seq): self
我运行了一个用于 MNIST 分类的神经网络模型并收到了错误- RecursionError: maximum recursion depth exceeded 我检查了一些关于 stackoverf
我定义了一个名为 spam 的类: class spam(): def __str__(self): print(self) a = spam() print(a) 最后的打印
我为 Tornado RequestHandler 编写了一个辅助装饰器: def return_response(method): @wraps(method) async def
我尝试运行下面的代码 import math import random from matplotlib import pyplot as plt from collections import Co
我是一名优秀的程序员,十分优秀!