私がpygtkで理解していないことがあります:
複数のサーバーで遠隔地のネットワーク構成を操作するために、slqlite データベースとやり取りするための GUI を作成しようとしています。
したがって、次の 3 つのファイルを作成します。
Mygui.py にはすべての pygtk 命令が含まれています。
Mydata.py にはすべての sqlite 操作が含まれ
、最後に Mygui と sqlite 間の相互作用を実行する Myapp.py が含まれます。
しかし、コールバック関数とその定義を実装する方法がわかりません:
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にあるはずだと思います(おそらくfalse)。データベースをディスプレイに接続していますが、方法がわかりませんか?
(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 手続きを分離するために本当にすべきことですか?