Python - 访问另一个类中的变量

Python - 访问另一个类中的变量

我有 1 个主窗口和 1 个对话框。现在我需要从对话框访问主窗口中的变量。

例如在 java 中我们有 2 个类:demo 和 myclass 在我的类中我有以下代码:public static int number=5; 然后我只需使用 myclass.number 访问它。

如何使用 python 快速 ide 来做到这一点?

我是否需要在对话框中导入主窗口才能访问静态变量?

答案1

只需传递你的主窗口实例,如下所示:

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)

看看我的回答这个问题这也几乎类似,只是方式相反。

答案2

我不确定这是否是“专业”的方法,但您可以在生成它时将其传递给变量。

我有一个文件生成对话框,我通过为其提供默认输出目录和默认文件名称来构建它。我的代码如下所示:def __init__(self,parent,output_dir,filename),调用它时请确保传递所需的内容,例如。window(output_dir,filename)

相关内容