繁体   English   中英

Python 循环依赖

[英]Python circular dependency

第一个严肃的 python 项目和堆栈上的第一个问题:)。

我正在构建一个具有不同屏幕的 GUI。 我有一个带有所有常用值的 BaseScreen class,每个特定屏幕都继承自它,并且在其 own.py 文件中进行组织。 大多数屏幕将包含“homerow”一行 5 个按钮,这些按钮在屏幕之间切换,这在 BaseScreen 中定义。

问题是; 单击 homerow 按钮时,我需要创建相应屏幕 class 的实例以进行更改,这需要我导入所述屏幕 class。 这些屏幕类在继承时已经需要导入 BaseScreen,因此循环依赖并且我的程序没有运行。

想知道解决这个问题和类似问题的最佳方法是什么? 我对类的使用和我的 GUI 结构本身也可以吗? 谢谢。

这是否说明了您的问题?

base_screen.py

class BaseScreen:
   def click_button(self):
       return BlueScreen()

在 blue_screen.py

import BaseScreen
class BlueScreen(BaseScreen):
    ...

如果这是一个很好的说明,没有什么说你不能这样做:

class BaseScreen:
    def click_button(self):
        from blue_screen import BlueScreen
        return BlueScreen()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM