我有 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)