web-dev-qa-db-ja.com

Python-別のクラスのアクセス変数

メインウィンドウが1つとダイアログが1つあります。ここで、ダイアログからメインウィンドウの変数にアクセスする必要があります。

たとえば、Javaには2つのクラスがあります:demoとmyclass私のクラスには次のコードがあります:public static int number = 5;次に、myclass.numberを使用してアクセスします。

pythonで素早く行うにはどうすればいいですか?

静的変数にアクセスするには、ダイアログにメインウィンドウをインポートする必要がありますか?

1
user26030

次のようなメインウィンドウインスタンスを渡すだけです。

class MyWindow(Gtk.Window):
    def __init__(self):
        # Do your thing...

        self.spam = "spam'n'eggs"

    def on_opendialog_clicked(self, widget):
        dialog = MyDialog(self)
        dialog.run()
        dialog.destroy()

class MyDialog(Gtk.Dialog):
    def __init__(self, mainwindow):
        # ...

        print(mainwindow.spam)

この質問 の私の答えを見てください。

1
Timo

これが「プロ」の方法なのかどうかはわかりませんが、変数を生成するときに変数に渡すことができます。

デフォルトの出力ディレクトリとデフォルトのファイル名を指定して作成したファイル生成ダイアログがあります。私のコードは次のようになります:def __init__(self,parent,output_dir,filename)、そして呼び出すときは、必要なものを渡すようにしてください。 window(output_dir,filename)

0
Jobi Carter