2012-02-03 56 views
5

我很努力地理解doxygen如何與Python中的命名空間一起工作。名稱「文件名」的命名空間,即temp.py,是默認生成的。我也可以用\package\namespace命令聲明新的命名空間。瞭解命名空間文檔

但是,我不明白爲什麼下面的類(或任何其他定義)總是出現在temp命名空間下?

請幫我理解命名空間命令在doxygen中的工作原理。

如果您知道doxygen中如何使用/ namespace pr/package命令,可以繞過以下示例並直接回答它。現在

#filename = temp.py 
##\mainpage Main Page Title 
#\brief main page title comments \n 




## class class_demo1 \n 
# the class declared below \n 
class class_demo1: 
     pass 

from new_package import * 

,我對名\ new_package添加一個新的命名空間,添加到temp.py文件

##\package new_package 
#new namespace comments \n 

我還創建了一個名爲\ new_package.py並添加下面這行:

def demo_fun: 
    pass 

class demo_class: 
    pass 

在生成的文檔,我得到的命名空間下的\ TEMP \ class_demo1。 但是,新的名稱空間\ new_package.py不會顯示類和def在 下聲明的它。

回答

2

爲了把Demo全班分成new_package命名空間如果在new_package.temp模塊定義:

new_package/ 
├── __init__.py 
│ # from .temp import Demo 
└── temp.py 
    # class Demo: 
    #  pass 

在這種情況下的doxygen將只需要以反映已經在代碼的關係。

+0

@Sebastian你可以發佈一些小的示例代碼(新的或基於我的示例),以幫助我更好地理解它。 – Ani 2012-02-07 04:12:35