У меня есть 1 главное окно и 1 диалог. Теперь мне нужно получить доступ к переменной в главном окне из диалога.
Например, в Java у нас есть 2 класса: demo и myclass. В моем классе у меня есть следующий код: public static int number = 5; Затем я просто получаю к нему доступ, используя myclass.number.
Как это сделать в python, используя быстро ide?
Нужно ли импортировать главное окно в диалоге, чтобы получить доступ к статической переменной?
Просто обойдите ваш экземпляр главного окна, как-то так:
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)
Посмотрите на мой ответ в на этот вопрос , который почти аналогичен, только наоборот.
Я не уверен, что это «профессиональный» способ сделать это или нет, но вы можете передать его в свою переменную при генерации.
У меня есть диалог создания файла, который я создал, задав ему выходной каталог по умолчанию и имя файла по умолчанию. Мой код выглядит так: def __init__(self,parent,output_dir,filename)
, и когда вы звоните, убедитесь, что передали ему то, что ему нужно, например. window(output_dir,filename)