pygtk 中有一些我不明白的地方:
我尝试构建一个 gui 来与 slqlite 数据库交互,以便在多个服务器上操作一些远程网络配置。
所以我制作了三个文件:
Mygui.py 包含所有 pygtk 指令;
Mydata.py 包含所有 sqlite 操作
,最后是 Myapp.py,它应该进行 Mygui 和 sqlite 之间的交互。
但我看不到如何实现回调函数及其定义:
在 Myapp.py 中使用这些行:
class Myapp():
def __init__():
self.data = Mydata()
self.gui = Mygui()
...
在 Mygui.py 中有这样的行:
class Mygui():
def __init__():
... self.Base_menu = gtk.Menu() self.contenu_item = gtk.MenuItem('contenu base") self.Base_menu.append(self.contenu_item) ... # 其他
self.contenu_item("activate", contenu_callback )
我认为(可能是错误的)“contenu_callback”应该在 Myapp.py 中有它连接数据库和显示器,但我不明白怎么做?
(5分钟后编辑)
感谢您的回答,但我不确定我是否理解正确:
所以我从您的最后一行了解到的是,在模块“MyGui.py”中,我应该添加"import Myapp.py()"
能够调用
"Myapp.activate_callback" ( "other.module" in this case being Myapp )
.
因此,在全球范围内,我将拥有包含“import Mydata”和“import Mygui”的“Myapp.py”以及包含“import pygtk”和“import Myapp”的模块“Mygui.py”。
我对导入“MyGui”的“Myapp.py”和将导入“Myapp”的“MyGui”之间的循环关系不太满意。
这真的是我应该做的将gui程序与应用程序处理分开吗?