类的重复碱基

Posted

技术标签:

【中文标题】类的重复碱基【英文标题】:Duplicate bases for class 【发布时间】:2019-10-12 19:31:39 【问题描述】:

我正在做一个学校项目,使用 python 和 kivy。我对类和继承不是很熟悉。我在包含“pass”的python文件中创建了一个类。该类继承了 kivy 的属性(ListItemButton),然后我在 kivy 文件中使用此属性来创建“ListView”和其中的适配器。我的 kivy 应用程序运行良好,但可视化工作室代码向我显示错误“类 'Boom'pylint(duplicate-bases) 的重复基数”,我不知道为什么。

我尝试将类名从“ToDoListButton”更改为“Boom”。只是尝试,但没有成功。

"""this is python file"""
from kivy.uix.listview import ListItemButton

class Boom(ListItemButton):
    pass
"""this is kivy file"""
#: import main thelist
#: import ListAdapter kivy.adapters.listadapter.ListAdapter
#: import ListItemButton kivy.uix.listview.ListItemButton

<TodoList> """this is another class for a window in the app"""
        ListView:
            id: thelist
            adapter:    ListAdapter(data=["study"], cls=main.Boom)

应用程序按预期运行,但 Visual Studio 代码中仍显示此错误“类 'Boom'pylint(duplicate-bases) 的重复基数”。

【问题讨论】:

【参考方案1】:

这意味着ListItemButton已经被定义了。只要您的 Kivy 应用程序运行正常,您就可以忽略该错误。这可能是来自 pylint 的故障。如果你使用 PyCharm,你不会得到这个。

尝试删除class Boom、import 语句、#: import main thelist 并将cls=main.Boom 替换为cls=ListItemButton

由于您正在开始您的项目,您可能希望使用RecycleView,因为ListView 自版本 1.10.0 以来已被弃用,并在版本 1.11.0 中完全删除。

【讨论】:

以上是关于类的重复碱基的主要内容,如果未能解决你的问题,请参考以下文章

人的基因组

获取类的所有实例[重复]

类的std :: thread调用方法[重复]

如何使用外部类的实例访问嵌套类的属性[重复]

类的默认修饰符[重复]

获取类的变量列表[重复]