如何传递两类/窗口之间的变量在PyGTK的?(How can I pass variables be

2019-10-29 05:53发布

我开始了与PyGTK的和我无法理解窗口的互动。

我很简单的问题如下。
假设我有一个简单的创建一个文本输入字段的窗口类。 当在该窗口中点击“确定”按钮,我想通过在输入字段到另一个窗口的文本,另一个类创建,与GTK菜单,并创建一个文本字段的内容的新条目。

如何实现这一点?

Answer 1:

让我们来调用菜单,并与文本输入字段B中的窗口。 如果我理解正确的A调用B和当按下OK按钮在B,A需要更新其菜单。

在这种情况下,你可以创建一个在一个回调函数,这意味着当按下B的OK按钮来调用。 当您创建b。您可以通过此回调,这里是一个例子:

class B(gtk.Window):
   def __init__(self, callback):
      gtk.Window.__init__(self)

      self.callback = callback
      # Create components:
      # self.entry, self.ok_button ...

      self.ok_button.connect("clicked", self.clicked)

   def clicked(self, button):
      self.callback(self.entry.get_text())

class A(gtk.Window):
   def create_popup(self):
      popup = B(self.popup_callback)
      popup.show()

   def popup_callback(self, text):
       # Update menu with new text
       # ...


文章来源: How can I pass variables between two classes/windows in PyGtk?
标签: python pygtk