我开始使用PyGtk并且无法理解windows的交互。
我非常简单的问题如下 假设我有一个类,它只是创建一个带有文本输入字段的窗口。当单击该窗口中的“确定”按钮时,我想将输入字段中的文本传递到另一个窗口,由另一个类创建,使用gtk菜单,并创建一个包含文本字段内容的新条目。
我该如何实现?
答案 0 :(得分:2)
我们调用A菜单,B调用带有文本输入字段的窗口。 如果我理解正确A调用B并且在B中按下确定按钮时,A需要更新其菜单。
在这种情况下,您可以在A中创建一个回调函数,意味着在按下B的确定按钮时调用。当你创建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
# ...