簡體   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